问题标签 [custom-training]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
561 浏览

computer-vision - 为什么本文中的“过滤器”设置为 (classes + 5) * 3?

这是一个关于对 YOLO (Darknet) 进行自定义训练的教程:https ://medium.com/@manivannan_data/how-to-train-yolov3-to-detect-custom-objects-ccbcafeb13d2

本教程指导如何在.cfg文件中设置值:

  • 类 = 类数,OK
  • 过滤器 = (类 + 5) * 3

为什么是“加 5”然后是“乘 3”?

有人说是 (classes + coords + 1) * num,但我猜不出它的意思。

0 投票
1 回答
214 浏览

parameters - 在 Pytorch 中交互式训练模型

我需要并行训练两个模型。每个模型都有不同的激活函数和可训练的参数。我想训练模型一和模型二,使模型一(例如,alpha1)的激活函数的参数与模型二(例如,alpha2)中的参数间隔2;即,|alpha_1 - alpha_2| > 2. 我想知道如何将其包含在训练的损失函数中。

0 投票
1 回答
352 浏览

tensorflow - Keras SGD Optimizer 的“get_updates”方法中当前批次的前向传递计算

我正在尝试在 Keras SGD 优化器的 get_gradient 方法中实现随机 armijo 规则。因此,我需要计算另一个前向传递来检查所选择的 learning_rate 是否良好。我不想再次计算梯度,但我想使用更新后的权重。

使用 Keras 版本 2.3.1 和 Tensorflow 版本 1.14.0

不幸的是,我在尝试计算“loss_next”时不理解错误消息:

这里有两个问题:

  • 如何访问我正在处理的当前批次?前向计算应该只考虑实际的批次,因为梯度也只属于那个批次。

  • 有什么更好的想法不使用 K.function 来更新和评估前向传递来计算该批次的损失函数?

有谁能帮忙吗?提前致谢。

0 投票
0 回答
118 浏览

tensorflow - 即使在冻结所有层之后,神经网络也需要时间来训练

在张量流中,在我将每一层的可训练标志设置为 False 后,尝试训练网络不会改变权重(如预期的那样)。但是,每个 epoch 仍然需要相同的时间(大约 12 秒)来训练,就像不冻结任何层的训练一样。

为澄清起见,我在编译前将每一层的可训练标志设置为 False。

有谁知道为什么会这样?我的实际意图是通过冻结一些权重来减少网络的训练时间。当冻结一些重量并没有减少训练时间时,我尝试冻结所有重量,但即使这样也没有减少训练时间。

值得一提的是,我使用的是 tensorflow 1.12.0

0 投票
1 回答
1592 浏览

tensorflow - 将神经网络的输出限制在任意范围内

我有一个自定义神经网络,我正在对数据进行训练,并试图将网络的输出值限制在两个任意常数之间:[lower_bound,upper_bound]. 在损失函数中编码这个约束是否有任何最佳实践?

下面我写了一个最小的工作示例,我在生成的数据上构建和训练神经网络。[lower_bound,upper_bound] = [-0.5,0.75]此外,我在被优化的损失函数中设置了输出应该介于两者之间的任意约束。但是我尝试使用一种相对粗略的方法来查找预测值超出范围的所有实例,然后简单地将这些项的损失函数设为一个较大的值(如果预测值在给定范围内,则为零):

但是在训练神经网络时,有什么方法或损失函数可以更好地编码这个约束吗?也许优化器更容易处理和/或修改我的代码本身的更平滑的损失函数?任何关于在以下代码中惩罚/训练神经网络的最佳实践的评论和进一步的想法给定输出的界限将不胜感激。


0 投票
1 回答
656 浏览

amazon-web-services - 如何在 Sagemaker .py 训练中绘制训练指标的历史记录

我在 Sagemaker 中运行笔记本,并使用 .py 文件进行培训:

在 train_cnn 文件中,我使用标准 CNN。但是,文件的最后一部分表示要像这样绘制训练的历史记录:

但是,没有显示任何内容,并且训练显示成功。也许是因为在另一个实例中执行。这里显示的信息:

有没有办法绘制培训工作的历史?例如,如下图所示在此处输入图像描述

0 投票
1 回答
820 浏览

python-3.x - pytorch 中的简单初始块需要更长的时间在 GPU 上进行训练?

我正在训练非常简单的初始块,然后在 NVIDIA GeForce RTX 2070 GPU 上训练一个 maxpool 和全连接层,并且迭代需要很长时间。刚刚在超过 24 小时内完成了 10 次迭代。

这是初始模型定义的代码

和我使用的培训代码

这里是卷积神经网络的总结。谁能帮我加快训练速度?

卷积神经网络总结

这是减少全连接(FC)层的输入数量后卷积神经网络的总结。但是训练时间仍然非常高,与以前相似。可以就如何加快培训提出建议将有所帮助。

修改后的cnn总结

0 投票
1 回答
1200 浏览

python - 训练我保存的 tensorflow 模型时出错

我正在尝试使用子类化 API 构建自定义 keras 模型,但是当我加载模型的前一个实例并尝试对其进行训练时出现一些错误:

这是我的模型的类,它有 3 个输入和 1 个输出:

当我训练我的模型然后我保存它时,一切都很好:

但是当我尝试重新加载我训练过的模型并再次训练它时,我得到了错误:

带 train_step 功能:

或具有拟合功能:

自 1 周以来,我一直在尝试解决此错误,并且我已经多次阅读 tensorflow 指南。

0 投票
3 回答
1179 浏览

tensorflow - 使用 shape[1,48,48,1024] 分配张量并通过分配器 GPU_0_bfc 在 /job:localhost/replica:0/task:0/device:GPU:0 上键入 float 时出现 OOM

我正在尝试在以下存储库中重现 Mask RCNN 的训练:https ://github.com/maxkferg/metal-defect-detection

火车的代码片段如下:

第一阶段进展顺利。但从第 2 阶段失败。给出以下内容:

2020-08-17 15:53:10.685456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 123 个总大小为 2048 的块246.0KiB 2020-08-17 15:53:10.685456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 块大小2816 总计 2.8KiB 2020-08-17 15:53:10.686456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 6 块大小 3072 总计 18.0KiB 2020-08-17 15:53:10.686456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 387 个大小为 4096 的块,总计 1.51MiB 2020-08-17 15:53:10.687456:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 6144 的块,总计 6.0KiB 2020-08-17 15:53:10.687456:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator。 cc:680] 1 个大小为 6656 的块,总计 6.5KiB 2020-08-17 15:53:10.688456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\ bfc_allocator.cc:680] 60 个大小为 8192 的块,总计 480.0KiB 2020-08-17 15:53:10.688456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\ common_runtime\bfc_allocator.cc:680] 2 个大小为 9216 的块,总计 18.0KiB 2020-08-17 15:53:10.689456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\ core\common_runtime\bfc_allocator.cc:680] 12 个大小为 12288 的块,总计 144.0KiB 2020-08-17 15:53:10.689456:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 2 个大小为 16384 的块,总计 32.0KiB 2020-08-17 15:53:10.690456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 21248 的块共 20.8KiB 2020-08-17 15:53: 10.691456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 24064 的块,总计 23.5KiB 2020-08-17 15: 53:10.691456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 5 个大小为 24576 的块,总计 120.0KiB 2020-08-17 15:53:10.692456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 37632 的块,共 36 个。8KiB 2020-08-17 15:53:10.692456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 40960 的块总计 40.0KiB 2020-08-17 15:53:10.693456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 4 块大小 49152 总计 192.0KiB 2020-08-17 15:53:10.693456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 6大小为 65536 的块总计 384.0KiB 2020-08-17 15:53:10.694456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680 ] 1 个大小为 81920 的块,总计 80.0KiB 2020-08-17 15:53:10.695456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc :680] 1 个大小为 90624 的块,总计 88.5KiB 2020-08-17 15:53:10.695456:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator。 cc:680] 1 个大小为 131072 的块,总计 128.0KiB 2020-08-17 15:53:10.695456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\ bfc_allocator.cc:680] 3 个大小为 147456 的块,总计 432.0KiB 2020-08-17 15:53:10.696456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\ common_runtime\bfc_allocator.cc:680] 12 个大小为 262144 的块,总计 3.00MiB 2020-08-17 15:53:10.696456: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\ core\common_runtime\bfc_allocator.cc:680] 1 个大小为 327680 的块,总计 320.0KiB 2020-08-17 15:53:10.697457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 11 个大小为 524288 的块,总计 5.50MiB 2020-08-17 15:53:10.697457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 4 个大小为 589824 的块共 2.25MiB 2020-08-17 15:53: 10.698457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 194 个大小为 1048576 的块,总计 194.00MiB 2020-08-17 15: 53:10.699457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 17 个大小为 2097152 的块,总计 34.00MiB 2020-08-17 15:53:10.699457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 2211840 的块,共 2 个。11MiB 2020-08-17 15:53:10.700457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 146 个大小为 2359296 的块总计 328.50MiB 2020-08-17 15:53:10.701457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 块大小 2360320 总计 2.25MiB 2020-08-17 15:53:10.701457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1大小为 2621440 的块,总计 2.50MiB 2020-08-17 15:53:10.702457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680 ] 1 个大小为 2698496 的块,总计 2.57MiB 2020-08-17 15:53:10.702457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc :680] 1 个大小为 3670016 的块,总计 3.50MiB 2020-08-17 15:53:10.703457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator。 cc:680] 31 个大小为 4194304 的块,总计 124.00MiB 2020-08-17 15:53:10.703457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\ bfc_allocator.cc:680] 6 个大小为 4718592 的块,总计 27.00MiB 2020-08-17 15:53:10.704457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\ common_runtime\bfc_allocator.cc:680] 5 个大小为 8388608 的块,总计 40.00MiB 2020-08-17 15:53:10.705457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\ core\common_runtime\bfc_allocator.cc:680] 25 个大小为 9437184 的块,总计 225.00MiB 2020-08-17 15:53:10.705457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 2 个大小为 9438208 的块,总计 18.00MiB 2020-08-17 15:53:10.706457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 9441280 的块,总计 9.00MiB 2020-08-17 15:53: 10.706457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 16138752 的块,总计 15.39MiB 2020-08-17 15: 53:10.707457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 18874368 的块,总计 18.00MiB 2020-08-17 15:53:10.707457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 1 个大小为 37748736 的块,共 36 个。00MiB 2020-08-17 15:53:10.708457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:680] 7 个大小为 51380224 的块总计 343.00MiB 2020-08-17 15:53:10.708457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:684] 总和正在使用的块:1.41GiB 2020-08-17 15:53:10.709457:IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:686 ] 统计数据:限制:1613615104 使用中:1510723072 最大使用中:1510723072 numAllocs:3860 MaxAllocSize:11994777600MiB 2020-08-17 15:53:10.708457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:684] 总和使用块:1.41GiB 2020-08-17 15:53:10.709457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:686] 统计: 限制:1613615104 InUse:1510723072 MaxInUse:1510723072 NumAllocs:3860 MaxAllocSize:11994777600MiB 2020-08-17 15:53:10.708457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:684] 总和使用块:1.41GiB 2020-08-17 15:53:10.709457: IC:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\bfc_allocator.cc:686] 统计: 限制:1613615104 InUse:1510723072 MaxInUse:1510723072 NumAllocs:3860 MaxAllocSize:1199477761510723072 MaxInUse:1510723072 NumAllocs:3860 MaxAllocSize:1199477761510723072 MaxInUse:1510723072 NumAllocs:3860 MaxAllocSize:119947776

训练在具有 2GB RAM 的 QuadroK420 上运行。只是内存不足的问题还是我遗漏了什么?还有一种方法可以用我的设备进行训练吗?

0 投票
0 回答
68 浏览

class - 在 keras 中自定义 fit() 函数会导致 evaluate() 函数返回空列表

我正在使用 Keras 教程训练 VAE:https ://keras.io/examples/generation/vae/ 。这涉及创建一个 VAE 类和指定一个自定义训练程序,这里有更多描述:https ://keras.io/guides/customizing_what_happens_in_fit/ 。按照教程中的说明创建编码器和解码器并训练模型后,我通过以下方式创建 VAE 模型:

我想在训练后在单独的数据集上评估模型(因为我有多个评估数据集,我没有将它用作验证数据)。但是,当我尝试运行时vae.evaluate(data),它返回一个空列表[]

注意:我可以通过 轻松获得训练和验证指标vae.history.history,但问题是当我尝试在训练后进行评估时。但是当我尝试返回指标vae.metrics时,它也会返回一个空列表。如何model.evaluate使用返回损失指标字典的自定义训练程序?我需要为评估定义一些自定义的东西吗?

以下是 VAE 类的定义方式。更多细节可以在上面的教程中找到。