我正在尝试keras.layers.LSTM,下面的代码可以工作。
#!/usr/bin/python3
import tensorflow as tf
import numpy as np
from tensorflow import keras
data = np.array([1, 2, 3]).reshape((1, 3, 1))
x = keras.layers.Input(shape=(3, 1))
y = keras.layers.LSTM(10)(x)
model = keras.Model(inputs=x, outputs=y)
print (model.predi
我考虑过的一些方法: 从模型类Sampled softmax in tensorflow keras继承 从Layers类How can I use TensorFlow's sampled softmax loss function in a Keras model?继承 在这两种方法中,模型方法更清晰,因为层方法有点老生常谈-它将目标作为输入的一部分,然后再见多输出模型。 我希望在model类的子类化方面得到一些帮助--具体地说: 1)与第一种方法不同的是,我想要在指定标准keras模型时接受任意数量的层。例如, class LanguageModel(tf.keras.Mode
考虑如下所示的简单Keras网络: def custom_loss(y_true,y_pred):
return K.abs(y_true[0]-y_pred)+K.abs(y_true[1]-y_pred)
def gen():
while True:
a = np.random.random()
b = 2*a
c = 3*a
yield (np.array([a]),np.array([b,c]))
model = Sequential()
model.add(Dense(1,input_dim=1))
我已经在互联网上搜索了几天,试图找到一个解决这个错误的方法,但我找不到的任何东西都是特别适用的:
ValueError: Error when checking target: expected dense_2 to have shape (300,) but got array with shape (60,)
下面是生成错误的代码(数据预处理除外):
model = keras.Sequential([
keras.layers.Conv1D(5,input_shape=(1,60), kernel_size=12, padding='same'),
keras.laye
我正在尝试做一个简单的Keras模型。但是,不管我指定的输出形状是什么,输出层总是形状(1,),所以由于输出层和目标数据形状不匹配,所以不能训练我的模型。
import keras
from keras.models import Sequential
from keras.layers import InputLayer, LSTM, Dense
# 63 is the number of unique characters
# 128 is the length of a sequence of characters
X = ... # X is an one-hot ndarray;
这就是我想要运行的代码
X_train = data1/255.0
from sklearn.preprocessing import LabelBinarizer
lb = LabelBinarizer()
trainY =lb.fit_transform(label)
from tensorflow.keras.models import Model
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import AveragePooling2D
from tensorflow.keras
我是使用keras的神经网络新手,我有以下的训练样本输入形状(150528,1235)和输出形状是(154457,1235),其中1235是训练示例,如何放置输入形状,我尝试了下面,但给了我一个
ValueError: Data cardinality is ambiguous:
x sizes: 150528
y sizes: 154457
Please provide data which shares the same first dimension.
代码:
import tensorflow as tf
from tensorflow import keras
from te
我有一个有30个输入节点、1个隐藏节点和1个输出节点的神经网络。我在一个数据集上训练它,其中输入是30维向量,条目在-1到1之间,目标是这些向量的第二个条目。
我期望网络能够快速地训练和学习输出输入向量的第二项,因为这就像减少网络中连接输入节点和隐藏节点的权重一样简单,除了第二项之外。
然而,损失迅速停滞在大约0.168。如果目标是0,我会期望它很快变为零。
下面的代码显示了随机数据集的问题。
import numpy as np
from tensorflow.keras import models
from tensorflow.keras import layers
import ten
我试着计算输出层的梯度。输入和我期待一个梯度矩阵(作为不同节点的梯度在输出层w.r.t。每个输入),但我只得到一个值。我想知道这个值代表什么?
我的目的是计算分类交叉熵损失的梯度w.r.t对每个输入。我在寻找一个解决方案,然后我坚持了下来。
我是新来的,所以请忽略愚蠢的错误。
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras import backend as k
import numpy as np
import tensorflow as tf
model =