tensorflow - Nvidia Digits 批量大小和数据混洗如何工作?
问题描述
我正在尝试训练神经网络以使用 Tensorflow 和 Nvidia Digits 检测隐写图像。我加载了一个数据集,它有两个子目录——Cover Images 和 Steg Images。我认为网络必须一起处理封面/隐写图像对,以了解哪些是封面,哪些是隐写图像。我对么?
批量大小如何工作?如果我给 1 它会从两个子目录中获取一张图像并处理它们吗?还是我必须为此输入批号为2?
在每个 epoch 上洗牌数据是如何工作的?它是否平等地洗牌两个子目录?例如,1.jpg 将是两个文件夹中的第三张照片,还是两者都不同?
解决方案
我认为网络必须一起处理封面/隐写图像对,以了解哪些是封面,哪些是隐写图像。我对么?
我不熟悉 Nvidia Digits 中的对象检测(对吗?),因此请查看他们的教程以获取更多信息。您需要首先考虑标记训练数据的类型。通常在示例中,我看到只使用一个训练文件夹和一个验证文件夹(每个:图像和标签) - 数字将您的数据集划分为例如 90% 的训练图像和 10% 的验证图像。
批量大小如何工作?如果我给 1 它会从两个子目录中获取一张图像并处理它们吗?还是我必须为此输入批号为2?
通过批号,您可以告诉 Digits 每次迭代使用多少张图像。它用于数据集划分(计算内存有限;您不能将整个数据集放入一次迭代中)。在一个时期内处理整个数据集。如上所述,据我所知,一次一张图像。
在每个 epoch 上洗牌数据是如何工作的?它是否平等地洗牌两个子目录?例如,1.jpg 将是两个文件夹中的第三张照片,还是两者都不同?
数据应自动洗牌。
推荐阅读
- mysql - 在 Hadoop 中使用 apache 气流配置 MySql 时面临的问题
- flutter - Flutter FirebaseMessaging 设置
- javascript - RxJS - 创建自动完成的 Observable,首先从缓存返回数据,然后从服务器返回
- javascript - 在 Cypress 中测试拖动传单地图
- android - 引起:java.lang.ClassCastException: kotlin.Unit 无法转换为 yodgorbek.komilov.musobaqayangiliklari.repository.NewsRepository?
- vb.net - 如何连续读写控制台窗口并将所有控制台数据记录到文本文件中
- reactjs - 是否可以在 Interface 中定义 render-prop 返回值的 jsx 树?
- python - Python:SettingWithCopyWarning
- c++ - 复制构造函数的参数
- jenkins - 带有groovy中地图列表的Jenkins管道选择输入不起作用