标签: keras-layer

Keras输入说明:input_shape,units,batch_size,dim等

对于任何Keras层(Layer类),可有人解释如何理解之间的区别input_shape,units,dim,等?

例如,doc说明了units指定图层的输出形状.

在神经网络的图像下面hidden layer1有4个单位.这是否直接转换为对象的units属性Layer?或者units在Keras中,隐藏层中每个权重的形状是否等于单位数?

简而言之,如何理解/可视化模型的属性 - 特别是图层 - 下面的图像? 在此输入图像描述

neural-network deep-learning keras keras-layer tensor

191
推荐指数
2
解决办法
9万
查看次数

Keras:内核和活动正规则之间的区别

我注意到在Keras中没有更多的weight_regularizer可用,并且取而代之的是有活动内核规范化器.我想知道:

  • 内核活动正则化程序之间的主要区别是什么?
  • 我可以使用activity_regularizer代替weight_regularizer吗?

machine-learning keras keras-layer

70
推荐指数
2
解决办法
3万
查看次数

conv1D中的形状尺寸

我试图用一层构建一个CNN,但我有一些问题.确实,编译器说我

ValueError:检查模型输入时出错:预期conv1d_1_input具有3个维度,但是具有形状的数组(569,30)

这是代码

import numpy
from keras.models import Sequential
from keras.layers.convolutional import Conv1D
numpy.random.seed(7)
datasetTraining = numpy.loadtxt("CancerAdapter.csv",delimiter=",")
X = datasetTraining[:,1:31]
Y = datasetTraining[:,0]
datasetTesting = numpy.loadtxt("CancereEvaluation.csv",delimiter=",")
X_test = datasetTraining[:,1:31]
Y_test = datasetTraining[:,0]
model = Sequential()
model.add(Conv1D(2,2,activation='relu',input_shape=X.shape))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=150, batch_size=5)
scores = model.evaluate(X_test, Y_test)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
Run Code Online (Sandbox Code Playgroud)

python text-classification keras keras-layer

51
推荐指数
2
解决办法
4万
查看次数

如何在keras中堆叠多个lstm?

我正在使用深度学习库keras并尝试堆叠多个LSTM而没有运气.以下是我的代码

model = Sequential()
model.add(LSTM(100,input_shape =(time_steps,vector_size)))
model.add(LSTM(100))
Run Code Online (Sandbox Code Playgroud)

上面的代码在第三行返回错误 Exception: Input 0 is incompatible with layer lstm_28: expected ndim=3, found ndim=2

输入X是一个形状的张量(100,250,50).我在tensorflow后端运行keras

deep-learning lstm keras tensorflow keras-layer

46
推荐指数
2
解决办法
3万
查看次数

检查模型输入时出错:预期卷积2d_input_1有4个维度,但得到的形状为数组(32,32,3)

我想从以下层开始训练深度网络:

model = Sequential()
model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
Run Code Online (Sandbox Code Playgroud)

运用

history = model.fit_generator(get_training_data(),
                samples_per_epoch=1, nb_epoch=1,nb_val_samples=5,
                verbose=1,validation_data=get_validation_data()
Run Code Online (Sandbox Code Playgroud)

使用以下生成器:

def get_training_data(self):
     while 1:
        for i in range(1,5):
            image = self.X_train[i]
            label = self.Y_train[i]
            yield (image,label)
Run Code Online (Sandbox Code Playgroud)

(验证生成器看起来类似).

在培训期间,我收到错误:

Error when checking model input: expected convolution2d_input_1 to have 4 
dimensions, but got array with shape (32, 32, 3)
Run Code Online (Sandbox Code Playgroud)

怎么可能,第一层

 model.add(Conv2D(32, 3, 3, input_shape=(32, 32, 3)))
Run Code Online (Sandbox Code Playgroud)

deep-learning keras keras-layer

42
推荐指数
2
解决办法
10万
查看次数

加载重量后如何在keras中添加和删除新图层?

我正在努力做转学习; 为此我想删除神经网络的最后两层并添加另外两层.这是一个示例代码,它也输出相同的错误.

from keras.models import Sequential
from keras.layers import Input,Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.layers.core import Dropout, Activation
from keras.layers.pooling import GlobalAveragePooling2D
from keras.models import Model

in_img = Input(shape=(3, 32, 32))
x = Convolution2D(12, 3, 3, subsample=(2, 2), border_mode='valid', name='conv1')(in_img)
x = Activation('relu', name='relu_conv1')(x)
x = MaxPooling2D(pool_size=(3, 3), strides=(2, 2), name='pool1')(x)
x = Convolution2D(3, 1, 1, border_mode='valid', name='conv2')(x)
x = Activation('relu', name='relu_conv2')(x)
x = GlobalAveragePooling2D()(x)
o = Activation('softmax', name='loss')(x)
model = Model(input=in_img, output=[o])
model.compile(loss="categorical_crossentropy", optimizer="adam")
#model.load_weights('model_weights.h5', by_name=True)
model.summary() …
Run Code Online (Sandbox Code Playgroud)

python theano keras keras-layer

38
推荐指数
4
解决办法
4万
查看次数

如何使用Keras创建自定义激活功能?

有时默认的标准激活,如ReLU,tanh,softmax,......和LeakyReLU等高级激活是不够的.它也可能不属于keras-contrib.

你如何创建自己的激活功能?

python keras keras-layer

35
推荐指数
2
解决办法
2万
查看次数

keras何时重置LSTM状态?

我读了很多关于它的文章,似乎没有人回答这个非常基本的问题.它总是含糊不清:

stateful = FalseLSTM层中,keras会在以下情况后重置状态:

  • 每个序列; 要么
  • 每批?

假设我的X_train形状为(1000,20,1),意味着单个值的20个步骤的1000个序列.如果我做:

model.fit(X_train, y_train, batch_size=200, nb_epoch=15)
Run Code Online (Sandbox Code Playgroud)

它会重置每个序列的状态(重置状态1000次)吗?
或者它会重置每个批次的状态(重置状态5次)?

lstm keras keras-layer

29
推荐指数
3
解决办法
1万
查看次数

重置Keras层中的权重

我想重置(随机化)我的Keras(深度学习)模型中所有层的权重.原因是我希望能够使用不同的数据拆分对模型进行多次训练,而不必每次都进行(慢)模型重新编译.

受此讨论的启发,我正在尝试以下代码:

# Reset weights
for layer in KModel.layers:
    if hasattr(layer,'init'):
        input_dim = layer.input_shape[1]
        new_weights = layer.init((input_dim, layer.output_dim),name='{}_W'.format(layer.name))
        layer.trainable_weights[0].set_value(new_weights.get_value())
Run Code Online (Sandbox Code Playgroud)

但是,它只是部分有效.

部分地,因为我已经检查了一些layer.get_weights()值,它们似乎发生了变化.但是当我重新开始培训时,成本值远低于第一次运行时的初始成本值.这几乎就像我成功重置了一些重量,但不是全部重量.

任何关于我出错的提示都将深表感谢.谢谢..

python keras keras-layer

24
推荐指数
5
解决办法
2万
查看次数

如何在keras中实现Conv1DTranspose?

我知道在keras中有Conv2DTranspose可用于Image.我们需要在NLP中使用它,因此需要一维反卷积.

我们如何在keras中实现Conv1DTranspose?

keras keras-layer

24
推荐指数
3
解决办法
5586
查看次数