在用于在CIFAR-10上训练网络的TensorFlow教程中,他们在何处以及如何在运行培训和评估之间保存权重/参数?我看不到保存到项目目录中的任何文件。
以下是教程和代码的链接: https://www.tensorflow.org/versions/r0.11/tutorials/deep_cnn/index.html https://github.com/tensorflow/tensorflow/tree/master/tensorflow/models/image/cifar10
答案 0 :(得分:0)
假设你正在运行cifar10_train,保存在这一行:
默认位置在此行中定义(它是“/ tmp / cifar10_train”):
在cifar10_eval中,恢复权重发生在这一行:
答案 1 :(得分:0)
默认情况下,它会将日志和检查点保存到/tmp/
文件夹。
权重包含在检查点文件中。
正如你在eval和train文件中看到的那样,它确实需要一个checkpoint dir作为参数。
cifar10_train.py:
tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train',
"""Directory where to write event logs """
"""and checkpoint.""")
cifar10_eval.py:
tf.app.flags.DEFINE_string('eval_dir', '/tmp/cifar10_eval',
"""Directory where to write event logs.""")
tf.app.flags.DEFINE_string('eval_data', 'test',
"""Either 'test' or 'train_eval'.""")
tf.app.flags.DEFINE_string('checkpoint_dir', '/tmp/cifar10_train',
"""Directory where to read model checkpoints.""")
您可以使用自定义值调用这些脚本。对于我使用Inception的项目,我必须更改它,因为主硬盘驱动器没有足够的空间容纳初始创建的瓶颈。
显式设置这些值可能是一个好习惯,因为/tmp/
文件夹不是永久性的,因此您可能会丢失训练数据。
以下代码会将训练数据保存到自定义文件夹中。
python cifar10_train.py --train_dir="/home/username/train_folder"
然后,评估:
python cifar10_eval.py --checkpoint_dir="/home/username/train_folder"
它也适用于其他例子。