如何在CIFAR10教程中为tensorflow保存权重?

时间:2016-11-04 05:20:51

标签: tensorflow

在用于在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

2 个答案:

答案 0 :(得分:0)

答案 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"

它也适用于其他例子。