- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
似乎我可以通过使 num_samples 更大并保持 nb_epoch=1 来获得完全相同的结果。我认为多个 epoch 的目的是多次迭代相同的数据,但 Keras 不会在每个 epoch 结束时重新实例化生成器。它只是继续前进。例如训练这个自动编码器:
import numpy as np
from keras.layers import (Convolution2D, MaxPooling2D,
UpSampling2D, Activation)
from keras.models import Sequential
rand_imgs = [np.random.rand(1, 100, 100, 3) for _ in range(1000)]
def keras_generator():
i = 0
while True:
print(i)
rand_img = rand_imgs[i]
i += 1
yield (rand_img, rand_img)
layers = ([
Convolution2D(20, 5, 5, border_mode='same',
input_shape=(100, 100, 3), activation='relu'),
MaxPooling2D((2, 2), border_mode='same'),
Convolution2D(3, 5, 5, border_mode='same', activation='relu'),
UpSampling2D((2, 2)),
Convolution2D(3, 5, 5, border_mode='same', activation='relu')])
autoencoder = Sequential()
for layer in layers:
autoencoder.add(layer)
gen = keras_generator()
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')
history = autoencoder.fit_generator(gen, samples_per_epoch=100, nb_epoch=2)
最佳答案
是的 - 您在使用 keras.fit_generator
时是对的这两种方法是等效的。但是 - 保留 epochs
的原因有很多是合理的:
epoch
包括您想要记录一些关于训练的重要统计数据的数据量(例如时间或时期结束时的损失)。 batch_size
和 nb_epoch
到这样的值,epoch 将包括遍历数据集中的每个示例。 flow
发电机 - 在这种情况下,当你有例如一组图片加载到你的Python
并且您想使用 Keras.ImageDataGenerator
应用不同类型的数据转换,设置 batch_size
和 nb_epoch
以这种方式,epoch 包括遍历数据集中的每个示例可能会帮助您跟踪训练过程的进度。 关于neural-network - Keras 的 fit_generator 中 nb_epoch 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882280/
在机器学习工具 vowpal wabbit ( https://github.com/JohnLangford/vowpal_wabbit/ ) 中,通常训练线性估计器 y*=wx。但是,可以添加前向
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
我一直在关注有关深度学习的在线教程。它有一个关于梯度下降和成本计算的实际问题,一旦它被转换为 python 代码,我就一直在努力获得给定的答案。希望你能帮我得到正确的答案 请参阅以下链接以了解所使用的
我正在使用 Keras(2.0.0 版),我想使用预训练模型,例如VGG16。为了开始,我运行了 [Keras 文档站点 ][ https://keras.io/applications/] 的示例使
我正在努力填补我的知识空白。在查看神经网络的大多数损失函数时,例如 mse、mae、L1、L2,损失总是记录为正值。我不明白的是为什么?为了根据需要提高或降低网络的权重,损失函数不应该具有正值或负值吗
我正在为度量学习任务构建孪生网络,使用对比损失函数,但我不确定如何为损失设置“ margin ”超参数。 我对损失函数的输入目前是来自 RNN 层的 1024 维密集嵌入 - 该输入的维数会影响我选择
与线性回归和逻辑回归不同,人工神经网络的成本函数不是凸函数,因此容易受到局部最优的影响。谁能直观地说明为什么 ANN 会出现这种情况,以及为什么不能修改假设以产生凸函数? 最佳答案 我在这里找到了充分
:) 当我为我的论文提案辩护时,我的一位教授问我为什么我们必须在 SOM 中指定迭代次数?他说,我们停止训练应该有一个收敛标准。 但是,据我所知,我们没有目标向量,因此我们无法将成本降至最低。 我的问
我正在学习神经网络,它们是我遇到的一些最巧妙的东西。 我的问题是:如何计算具有任意拓扑结构的神经网络的输出?是否有一些算法或经验法则可供使用? 例如,我知道前馈网络具有简单的矩阵表示,但是具有循环或输
因此,我在 Java 中使用 word2vec,并尝试以某种方式对其进行训练,以便它为我提供单词和句子的向量表示。 我可以使用它来将输入馈送到神经网络,以根据 word2vec 数据获得响应吗?我打算
我正在通过学习神经网络来训练自己。有一个函数我无法让我的神经网络学习:f(x) = max(x_1, x_2)。这似乎是一个非常简单的函数,有 2 个输入和 1 个输入,但是一个 3 层神经网络训
我有一个关于自组织映射的问题: 但首先,这是我实现一个的方法: som 神经元存储在一个基本数组中。每个神经元由一个向量(输入神经元大小的另一个数组)组成, double 值被初始化为一个随机值。 据
我正在训练一个 ResNet(CIFAR-10 数据集),训练的准确度大部分(在 95% 的时期)都在增加,但有时会下降 5-10%,然后又开始增加。 这是一个例子: Epoch 45/100 400
任何人都可以推荐一个网站或给我简要介绍一下在神经网络中反向传播是如何实现的吗?我了解基本概念,但不确定如何编写代码。 我发现的许多资源只是简单地展示了方程式,而没有给出任何解释他们为什么这样做,而且变
我正在尝试在Weka Knowledge Flow中使用Multi-Perceptron。在附件中,您可以看到块的设置。 如帮助中所写: “hiddenLayers-定义神经网络的隐藏层。这是一个正整
我正在构建一个自平衡两轮机器人。我一直计划为平衡部分实现一个简单的算法 - 然后花几天时间调整算法,但现在我有了可以改用神经网络的想法。 作为输入,我想给它提供与平衡相关的维度中的车轮、陀螺仪和加速度
我正在使用我自己实现的神经网络:它是一个简单的前向网络,使用 RPROP 作为学习算法,作为与基本设计相比唯一的“优势”。 当我针对 MNIST 对其进行测试或尝试进行图像压缩时,网络得分不错,但是当
我已经成功训练 yolo 使用 this article 预测我自己的图像.在那里,我在我的 cfg 文件的第 224 行将 classes = 5(我训练了 5 个类别)和过滤器更改为 50。 我想
取导数背后的概念是什么?有趣的是,为了以某种方式教授一个系统,我们必须调整它的权重。但是为什么我们要使用传递函数的推导来做这件事。推导中的什么对我们有帮助。我知道推导是给定点连续函数的斜率,但这与问题
我正在使用神经网络进行回归。对于 NN 来说,这应该是一项简单的任务,我有 10 个特征和 1 个要预测的输出。我在我的项目中使用 pytorch,但我的模型学习不好。损失从一个非常高的值(40000
我是一名优秀的程序员,十分优秀!