标签: deep-learning

Keras,如何获得每一层的输出?

我已经使用CNN训练了二进制分类模型,这是我的代码

model = Sequential()
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1],
                        border_mode='valid',
                        input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
# (16, 16, 32)
model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
# (8, 8, 64) = (2048)
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(2))  # define a binary classification problem
model.add(Activation('softmax'))

model.compile(loss='categorical_crossentropy',
              optimizer='adadelta',
              metrics=['accuracy'])
model.fit(x_train, y_train,
          batch_size=batch_size,
          nb_epoch=nb_epoch,
          verbose=1,
          validation_data=(x_test, y_test))
Run Code Online (Sandbox Code Playgroud)

在这里,我想像TensorFlow一样获得每一层的输出,我该怎么做?

python deep-learning keras tensorflow

115
推荐指数
9
解决办法
12万
查看次数

对卷积神经网络中一维,二维和三维卷积的直观理解

任何人都可以通过实例清楚地解释CNN(深度学习)中的1D,2D和3D卷积之间的区别吗?

signal-processing machine-learning convolution deep-learning conv-neural-network

100
推荐指数
3
解决办法
6万
查看次数

多层感知器(MLP)架构:选择隐藏层数和隐藏层大小的标准?

如果我们有10个特征向量,那么我们可以在输入层有10个神经节点.如果我们有5个输出类,那么我们可以在输出层有5个节点.但是选择MLP中隐藏层数的标准是什么以及有多少神经节点1个隐藏层中的节点?

machine-learning perceptron neural-network deep-learning

97
推荐指数
1
解决办法
5万
查看次数

model.eval() 在 pytorch 中有什么作用?

我正在使用此代码,并且model.eval()在某些情况下看到了。

我知道它应该允许我“评估我的模型”,但我不明白什么时候应该和不应该使用它,或者如果关闭如何关闭。

我想运行上面的代码来训练网络,并且还能够在每个时期运行验证。我还是做不到。

python machine-learning deep-learning pytorch

93
推荐指数
3
解决办法
8万
查看次数

如何在TensorFlow中添加正则化?

我在使用TensorFlow实现的许多可用神经网络代码中发现,正则化术语通常通过手动向损失值添加附加项来实现.

我的问题是:

  1. 有没有比手动更优雅或推荐的正规化方法?

  2. 我也发现get_variable有一个论点regularizer.该如何使用?根据我的观察,如果我们将正则化器传递给它(例如tf.contrib.layers.l2_regularizer,表示正则化术语的张量将被计算并添加到名为的图形集合中tf.GraphKeys.REGULARIZATOIN_LOSSES.TensorFlow是否会自动使用该集合(例如,在训练时由优化器使用)?或者是否应该自己使用该系列?

python neural-network deep-learning tensorflow

92
推荐指数
5
解决办法
6万
查看次数

如何在TensorFlow中应用渐变剪裁?

考虑示例代码.

我想知道如何在可能爆炸梯度的RNN上对此网络应用渐变剪辑.

tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
Run Code Online (Sandbox Code Playgroud)

这是一个可以使用的示例,但我在哪里介绍这个?在defN的RNN

    lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0)
    # Split data because rnn cell needs a list of inputs for the RNN inner loop
    _X = tf.split(0, n_steps, _X) # n_steps
tf.clip_by_value(_X, -1, 1, name=None)
Run Code Online (Sandbox Code Playgroud)

但是这没有意义,因为张量_X是输入而不是渐变的被剪裁的东西?

我是否必须为此定义自己的优化器,还是有更简单的选项?

python machine-learning deep-learning lstm tensorflow

90
推荐指数
6
解决办法
6万
查看次数

在TensorFlow中使用预先训练的单词嵌入(word2vec或Glove)

我最近回顾了一个卷积文本分类的有趣实现.但是,我所评论的所有TensorFlow代码都使用随机(未预先训练)的嵌入向量,如下所示:

with tf.device('/cpu:0'), tf.name_scope("embedding"):
    W = tf.Variable(
        tf.random_uniform([vocab_size, embedding_size], -1.0, 1.0),
        name="W")
    self.embedded_chars = tf.nn.embedding_lookup(W, self.input_x)
    self.embedded_chars_expanded = tf.expand_dims(self.embedded_chars, -1)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何使用Word2vec的结果或GloVe预训练的单词嵌入而不是随机的?

python numpy deep-learning tensorflow

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

Keras中的多对一和多对LSTM示例

我尝试了解LSTM以及如何使用Keras构建它们.我发现,主要有4种运行RNN的模式(图中右边4种)

在此输入图像描述 图片来源:Andrej Karpathy

现在我想知道他们每个人的简约代码片段在Keras中会是什么样子.所以像

model = Sequential()
model.add(LSTM(128, input_shape=(timesteps, data_dim)))
model.add(Dense(1))
Run Code Online (Sandbox Code Playgroud)

对于4个任务中的每个任务,可能只需要一点点解释.

machine-learning neural-network deep-learning keras recurrent-neural-network

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

global_step在Tensorflow中意味着什么?

这是来自TensorFlow网站的教程代码,

  1. 有谁能帮忙解释一下是什么global_step意思?

    我在Tensorflow网站上发现,使用全局步骤计算训练步骤,但我并不完全明白这意味着什么.

  2. 此外,数字0在设置时意味着什么global_step

    def training(loss,learning_rate):
        tf.summary.scalar('loss',loss)
        optimizer = tf.train.GradientDescentOptimizer(learning_rate)

        # Why 0 as the first parameter of the global_step tf.Variable?
        global_step = tf.Variable(0, name='global_step',trainable=False)

        train_op = optimizer.minimize(loss, global_step=global_step)

        return train_op
Run Code Online (Sandbox Code Playgroud)

根据Tensorflow doc global_step:在变量更新后增加1.这意味着一次更新后global_step变为1吗?

deep-learning tensorflow

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

如何训练图像,当它们有不同的大小?

我正在尝试训练我的模型对图像进行分类.我遇到的问题是,它们有不同的尺寸.是否有可能在没有调整大小的情况下训练这些图像.

deep-learning

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