小编Rou*_*beh的帖子

Keras Sequential fit_generator参数列表中validation_steps的含义

我在Python中使用带有Tensorflow后端的Keras.更精确的tensorflow 1.2.1及其内置的contrib.keras lib.

我想使用fit_generator一个Sequential模型对象,但我对作为方法参数传递的内容感到困惑.

通过阅读这里的文档,我得到了以下信息:

  • generator:python训练数据批量生成器; 无休止地循环其训练数据
  • validation_data: - 在我的例子中 - 一个python验证数据批处理生成器; doc没有提到对其验证数据的无限循环
  • steps_per_epoch:number of training batches = uniqueTrainingData / batchSize
  • 验证步骤:???; = uniqueValidationData /批量大小???
  • use_multiprocessing:boolean; 不传递不可选择的参数???
  • workers:最大使用进程数

如上所示??? 我真的不知道validation_steps是什么意思.我知道上面链接的doc(Number of steps to yield from validation generator at the end of every epoch)的定义,但这只会混淆我在给定的上下文中.从文档中我知道validation_data生成器必须生成数据,在表单中标记元组(inputs, targets).与此相反,上述陈述表明在每个时期结束时必须存在多个"从验证生成器产生的步骤",在这种情况下,这意味着在每个训练时期之后将产生多个验证批次.

关于的问题validation_steps:

  • 它真的有那种方式吗?如果是这样:为什么?我认为在每个时期之后,一个验证批次(理想情况下以前没有使用过)用于验证,以确保培训得到验证,而无需"训练"模型以在已使用的验证集上执行得更好.
  • 在上一个问题的背景下:为什么建议的验证步骤数量uniqueValidationData / batches不是uniqueValidationData / epochs?例如,100个时期的100个验证批次而不是x验证批次,其中x可能小于或大于指定的时期数量,这不是更好吗?或者:如果你的验证批次比epoches的数量少得多,那么模型是否在没有验证剩余时期的情况下进行训练,或者验证集是否会重复使用/重新洗牌+重复使用?
  • 重要的是培训和验证批次具有相同的批次大小(红利trainingDataCount和validationDataCount的共享除数)?

关于的其他问题use_multiprocessing …

parameters generator data-fitting keras

21
推荐指数
1
解决办法
2万
查看次数

LLVM IR 优化

我正在尝试按照链接生成c代码的 IR 表示。c我使用的代码如下

void main() {
 int c1 = 17;
 int c2 = 25;
 int c3 = c1 + c2;
 printf("Value = %d\n", c3);
}
Run Code Online (Sandbox Code Playgroud)

我将其另存为const.c. 保存后,我使用以下命令生成.bc文件。

clang -c -emit-llvm const.c -o const.bc
Run Code Online (Sandbox Code Playgroud)


一旦生成.BC文件,我想以此来生成的优化版本使用下面的命令const.bc被命名文件const.reg.bc

opt -mem2reg const.bc > const.reg.bc
Run Code Online (Sandbox Code Playgroud)

我在生成这些文件时没有任何问题,但由于某种原因,它们完全相同,并且没有发生任何优化。结果应该不同,我的意思是const.reg.bc应该是const.bc文件的优化版本。但由于某种原因,它不会发生。有人可以告诉我我做错了什么吗?

register-allocation llvm compiler-optimization llvm-ir

2
推荐指数
1
解决办法
1109
查看次数