我想绘制一条学习曲线,以了解神经网络在训练过程中的进展情况.水平轴是迭代的总数,垂直轴表示错误率.随着网络培训的进展,我希望看到测试和训练集错误率.
nn <- neuralnet(f,
data = train,
hidden = 2,
linear.output = F,
threshold = 0.01,
stepmax = 10,
lifesign = "full",
learningrate = .1,
algorithm='backprop')
Run Code Online (Sandbox Code Playgroud)
通过设置stepmax = 10(或50或?),我希望能够在收敛之前检查网络,查看测试和训练集的错误率,然后继续训练另外10个步骤.(部分)训练的神经网络命名为nn,我计划将startweights设置为在中断训练中获得的权重,如下所示:
# Try to further train alerady trained net
nn <- neuralnet(f,
data = train,
hidden = 2,
linear.output = F,
threshold = 0.01,
lifesign = "full",
learningrate = .1,
startweights = nn$weights,
algorithm='backprop')
Run Code Online (Sandbox Code Playgroud)
然而,训练发出警告,"算法在stepmax中的1次重复中没有收敛".我没想到会收敛,但是那10个完成的训练步骤应该修改了最初的随机权重.唉,nn $ weights是NULL.
有没有人知道使用神经网络实现这一目标的方法?
我试图使用我对 Keras 文档中示例代码的修改,该文档展示了在使用图像掩码代替标签的情况下如何设置 image_datagen.flow_from_directory() (用于图像分割,我们在其中预测一个类)对于每个像素)。
顺便说一下,我设置了 featurewise_center = True ,试图从每个图像的颜色通道中减去所有训练图像的每个颜色通道的平均值,这样在整个训练集中,每个颜色通道的平均值将为 0。我希望这样不是实现此目的的方法。
无论如何,这是我生成错误的代码:
image_datagen = ImageDataGenerator(featurewise_center = True)
mask_datagen = ImageDataGenerator()
image_generator = image_datagen.flow_from_directory(
'/home/icg/Martin/train_data_graz/images_rect_r640x360',
class_mode = None,
batch_size = 1,
seed = 123)
mask_generator = mask_datagen.flow_from_directory(
'/home/icg/Martin/train_data_graz/labels_rect_r640x360',
class_mode = None,
batch_size = 1,
seed = 123)
# combine generators into one which yields image and masks
train_generator = zip(image_generator, mask_generator)
model.fit_generator(
train_generator,
steps_per_epoch = 1000,
epochs = 100)
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
Found 0 images belonging to 0 classes.
Found 0 images belonging …
Run Code Online (Sandbox Code Playgroud) 我试图了解以下Python quine:
s = 's = %r\nprint(s%%s)'
print(s%s)
Run Code Online (Sandbox Code Playgroud)
特别是,我在查找有关该%%部分的任何信息时遇到了麻烦。在这种情况下,有人知道这到底是做什么的吗?
后记:对不起这个愚蠢的问题-这只是一个逃脱字符。我的Google搜索集中在%%上,这没有将我引向正确的方向。感谢那些花时间回应的人!:)