deep-learning相关内容
我直接比较了具有相同参数和相同数据集(MNIST)的TensorFlow与Keras. 奇怪的是Keras在10个周期内实现96%的性能,而TensorFlow在10个周期内实现约70%的性能.我在同一实例中多次运行了此代码,并且总是会出现这种不一致的情况. 即使为TensorFlow设置了50个纪元,最终性能也达到了90%. 代码: import keras from k
..
我在Keras 1.2中使用tensorflow-gpu作为后端编写了一个5层密集网络,并在我的MacBookPro(CPU)和AWS的P2.xlarge实例中对其进行了训练(K80-启用了cuda).令人惊讶的是,我的MacBookPro训练模型的速度比P2实例快.我已经检查过该模型是使用P2中的GPU训练的,所以我想知道...为什么它运行速度较慢? 这是网络: model = Se
..
问题陈述 我正在使用带有Tensorflow后端(tf版本1.13.1)的标记文本序列在keras中训练多对多LSTM,以使用预训练的GloVe嵌入来预测序列中每个元素的标记.我的训练方法包括小型批次随机梯度下降,每个小型批次矩阵逐列填充零,以确保向网络输入相等的长度. 至关重要的是,由于任务和数据的性质,在我的迷你批处理中存在自定义约束,因此我没有使用keras嵌入层.我的目标是对填
..
我正在尝试将输入管道移至tensorflow数据集api.为此,我们已将图像和标签转换为tfrecords.然后,我们通过数据集api读取tfrecords,并比较初始数据和读取的数据是否相同.到目前为止,一切都很好.下面是将tfrecords读取到数据集中的代码 def _parse_function2(proto): # define your tfrecord again.
..
我想在Keras中冻结一个预先训练的网络.我在文档中找到了base.trainable = False.但是我不明白它是如何工作的. 使用len(model.trainable_weights)时,我发现有30个可训练的砝码.怎么可能?网络显示可训练的参数总数:16,812,353. 冻结后,我有4个可训练的砝码. 也许我不了解参数和权重之间的区别.不幸的是,我是深度学习的初学者.也许有人可以帮助
..
我偶然发现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
..
我在matconvnet中具有以下卷积神经网络架构,可用于训练自己的数据: function net = cnn_mnist_init(varargin) % CNN_MNIST_LENET Initialize a CNN similar for MNIST opts.batchNormalization = false ; opts.networkType = 'simplenn' ;
..
我正在尝试为我的Keras lstm模型编写一个生成器.配合fit_generator方法使用. 我的第一个问题是发电机应该返回什么?一批吗顺序? Keras文档中的示例为每个数据条目返回x,y,但是如果我的数据是连续的怎么办?我想将其分成几批吗? 这是为给定输入创建批处理的python方法 def get_batch(data, batch_num, batch_size, seq_
..
我的Keras模型没有学习任何东西,我也不知道为什么.我什至将训练集的大小减少到5个元素,并且该模型仍然不适合训练数据. 使用TensorBoard可视化的损失函数 这是我的代码: model = Sequential() model.add(Conv1D(30, filter_length=3, activation='relu', input_shape=(50, 1)))
..
我想做的是在网络输出中添加一个常数张量: inputs = Input(shape=(config.N_FRAMES_IN_SEQUENCE, config.IMAGE_H, config.IMAGE_W, config.N_CHANNELS)) cnn = VGG16(include_top=False, weights='imagenet', input_shape=(config.IM
..
我正在训练一个RNN,其单词特征集大大减少,大约为10,000.我本来打算在添加RNN之前先从嵌入层开始,但是对我来说还不清楚真正需要什么维数.我知道我可以尝试不同的值(32、64等),但是我宁愿先有一些直觉.例如,如果我使用32维嵌入向量,则每个维仅需要3个不同的值即可完全描述空间(32**3>>10000). 或者,对于一个只有少量单词的空间,人们真的需要使用嵌入层吗?或者仅仅从输入层直
..
来自TensorFlow,我觉得除了在Keras中实现基本的顺序模型之外,其他任何事情都可能非常棘手.有这么多东西会自动进行.在TensorFlow中,您始终知道占位符(输入/输出),形状,结构等,因此,例如设置自定义损失非常容易. 定义多个输出和自定义损失函数的干净方法是什么? 让我们以一个简单的自动编码器为例,并使用MNIST: (X_train, Y_train), (X_
..
我想用Keras训练一个用于二维回归的神经网络. 我的输入是一个数字,我的输出有两个数字: model = Sequential() model.add(Dense(16, input_shape=(1,), kernel_initializer=initializers.constant(0.0), bias_initializer=initializers.constant(0.0
..
我正在用Python实现Segnet.以下是代码. img_w = 480 img_h = 360 pool_size = 2 def build_model(img_w, img_h, pool_size): n_labels = 12 kernel = 3 encoding_layers = [ Conv2D(64, (kernel, ker
..
我是keras的新手,我遇到此错误:ValueError:检查模型目标时出错:预期density_1具有形状(无,10),但数组的形状为(10,1).我输入的数组形状是(10,1010) 我的模型只有一层 model = Sequential() model.add(Dense(10, batch_input_shape=(None, 1010),init='uniform', ac
..
我有一个这样定义的自动编码器 inputs = Input(batch_shape=(1,timesteps, input_dim)) encoded = LSTM(4,return_sequences = True)(inputs) encoded = LSTM(3,return_sequences = True)(encoded) encoded = LSTM(2)(encoded)
..
我试图找到对我的回归模型的输出起主导作用的最佳功能,以下是我的代码. seed = 7 np.random.seed(seed) estimators = [] estimators.append(('mlp', KerasRegressor(build_fn=baseline_model, epochs=3, batch_size=20
..
我在大型数据集上使用Keras(使用MagnaTagATune数据集进行音乐自动标记).因此,我尝试将fit_generator()功能与自定义数据生成器一起使用.但是损失函数和指标的价值在培训过程中不会改变.看来我的网络根本没有训练. 当我使用fit()函数而不是fit_generator()时,一切都很好,但是我无法将整个数据集保留在内存中. 我已经尝试了Theano和Tensor
..
据我了解,为了通过梯度下降来更新模型参数,该算法需要在某个点上计算误差函数E相对于输出y的导数:dE/dy.不过,我已经看到,如果您想在Keras中使用自定义损失函数,则只需定义E即可,而无需定义其导数.我想念什么? 每个丢失的函数将具有不同的导数,例如: 如果损失函数是均方误差:dE/dy = 2(y_true-y) 如果损失函数是交叉熵:dE/dy = y_true/y
..
我已经使用自定义优化器编译并训练了keras模型.我保存了模型,但是当我尝试加载模型时,它抛出错误,指出ValueError: Unknown optimizer: MyOptimizer.我试图将MyOptimizer作为自定义对象传递,例如:models.load_model('myModel.h5', custom_objects={'optimizer':MyOptimizer}),但仍然
..