deep-learning相关内容

在直接比较中,为什么tensorflow的准确性比keras差?

我直接比较了具有相同参数和相同数据集(MNIST)的TensorFlow与Keras. 奇怪的是Keras在10个周期内实现96%的性能,而TensorFlow在10个周期内实现约70%的性能.我在同一实例中多次运行了此代码,并且总是会出现这种不一致的情况. 即使为TensorFlow设置了50个纪元,最终性能也达到了90%. 代码: import keras from k ..

Keras中的5层DNN使用GPU训练速度较慢

我在Keras 1.2中使用tensorflow-gpu作为后端编写了一个5层密集网络,并在我的MacBookPro(CPU)和AWS的P2.xlarge实例中对其进行了训练(K80-启用了cuda).令人惊讶的是,我的MacBookPro训练模型的速度比P2实例快.我已经检查过该模型是使用P2中的GPU训练的,所以我想知道...为什么它运行速度较慢? 这是网络: model = Se ..
发布时间:2020-04-25 10:42:28 其他开发

尽管掩盖了对喀拉拉邦零填充小批量LSTM训练的支持,但零预测

问题陈述 我正在使用带有Tensorflow后端(tf版本1.13.1)的标记文本序列在keras中训练多对多LSTM,以使用预训练的GloVe嵌入来预测序列中每个元素的标记.我的训练方法包括小型批次随机梯度下降,每个小型批次矩阵逐列填充零,以确保向网络输入相等的长度. 至关重要的是,由于任务和数据的性质,在我的迷你批处理中存在自定义约束,因此我没有使用keras嵌入层.我的目标是对填 ..
发布时间:2020-04-25 10:42:25 Python

ValueError:无法采用未知等级的Shape的长度

我正在尝试将输入管道移至tensorflow数据集api.为此,我们已将图像和标签转换为tfrecords.然后,我们通过数据集api读取tfrecords,并比较初始数据和读取的数据是否相同.到目前为止,一切都很好.下面是将tfrecords读取到数据集中的代码 def _parse_function2(proto): # define your tfrecord again. ..
发布时间:2020-04-25 10:41:21 Python

什么是"model.trainable = False"?在Keras中是什么意思

我想在Keras中冻结一个预先训练的网络.我在文档中找到了base.trainable = False.但是我不明白它是如何工作的. 使用len(model.trainable_weights)时,我发现有30个可训练的砝码.怎么可能?网络显示可训练的参数总数:16,812,353. 冻结后,我有4个可训练的砝码. 也许我不了解参数和权重之间的区别.不幸的是,我是深度学习的初学者.也许有人可以帮助 ..
发布时间:2020-04-25 10:40:32 Python

Keras MSE定义

我偶然发现Keras中mse的定义,我似乎找不到解释. def mean_squared_error(y_true, y_pred): return K.mean(K.square(y_pred - y_true), axis=-1) 我希望在各个批次中取平均值,即axis=0,但取而代之的是axis=-1. 我也玩了一下,看看K.mean是否实际上表现得像numpy.me ..

如何将fit_generator与分割成批的顺序数据一起使用?

我正在尝试为我的Keras lstm模型编写一个生成器.配合fit_generator方法使用. 我的第一个问题是发电机应该返回什么?一批吗顺序? Keras文档中的示例为每个数据条目返回x,y,但是如果我的数据是连续的怎么办?我想将其分成几批吗? 这是为给定输入创建批处理的python方法 def get_batch(data, batch_num, batch_size, seq_ ..
发布时间:2020-04-25 10:40:02 Python

Keras模型不学习

我的Keras模型没有学习任何东西,我也不知道为什么.我什至将训练集的大小减少到5个元素,并且该模型仍然不适合训练数据. 使用TensorBoard可视化的损失函数 这是我的代码: model = Sequential() model.add(Conv1D(30, filter_length=3, activation='relu', input_shape=(50, 1))) ..

对于仅10000个单词的字典,真正需要什么嵌入层output_dim?

我正在训练一个RNN,其单词特征集大大减少,大约为10,000.我本来打算在添加RNN之前先从嵌入层开始,但是对我来说还不清楚真正需要什么维数.我知道我可以尝试不同的值(32、64等),但是我宁愿先有一些直觉.例如,如果我使用32维嵌入向量,则每个维仅需要3个不同的值即可完全描述空间(32**3>>10000). 或者,对于一个只有少量单词的空间,人们真的需要使用嵌入层吗?或者仅仅从输入层直 ..
发布时间:2020-04-25 10:39:41 其他开发

Keras:多输出和自定义损失函数的清晰实现?

来自TensorFlow,我觉得除了在Keras中实现基本的顺序模型之外,其他任何事情都可能非常棘手.有这么多东西会自动进行.在TensorFlow中,您始终知道占位符(输入/输出),形状,结构等,因此,例如设置自定义损失非常容易. 定义多个输出和自定义损失函数的干净方法是什么? 让我们以一个简单的自动编码器为例,并使用MNIST: (X_train, Y_train), (X_ ..
发布时间:2020-04-25 10:39:20 Python

用Keras进行多维回归

我想用Keras训练一个用于二维回归的神经网络. 我的输入是一个数字,我的输出有两个数字: model = Sequential() model.add(Dense(16, input_shape=(1,), kernel_initializer=initializers.constant(0.0), bias_initializer=initializers.constant(0.0 ..
发布时间:2020-04-25 10:39:13 其他开发

Keras:网络无法使用fit_generator()进行训练

我在大型数据集上使用Keras(使用MagnaTagATune数据集进行音乐自动标记).因此,我尝试将fit_generator()功能与自定义数据生成器一起使用.但是损失函数和指标的价值在培训过程中不会改变.看来我的网络根本没有训练. 当我使用fit()函数而不是fit_generator()时,一切都很好,但是我无法将整个数据集保留在内存中. 我已经尝试了Theano和Tensor ..
发布时间:2020-04-25 10:37:05 Python

为什么Keras不需要自定义损失函数的梯度?

据我了解,为了通过梯度下降来更新模型参数,该算法需要在某个点上计算误差函数E相对于输出y的导数:dE/dy.不过,我已经看到,如果您想在Keras中使用自定义损失函数,则只需定义E即可,而无需定义其导数.我想念什么? 每个丢失的函数将具有不同的导数,例如: 如果损失函数是均方误差:dE/dy = 2(y_true-y) 如果损失函数是交叉熵:dE/dy = y_true/y ..
发布时间:2020-04-25 10:36:45 Python