【问题标题】:Can't train a model from scratch using tensorflow-slim无法使用 tensorflow-slim 从头开始​​训练模型
【发布时间】:2017-08-11 04:22:59
【问题描述】:

我刚刚按照图像分类库的 slim 教程制作了 imagenet TFRecord。

training-a-model-from-scracth,后面跟着下面的代码:

TRAIN_DIR=/home/ywlee/models/slim/results/
DATASET_DIR=/Data_ssd/ILSVRC2012/TFRecord/
python train_image_classifier.py \
  --train_dir=${TRAIN_DIR} \
  --dataset_name=imagenet \
  --dataset_split_name=train \
  --dataset_dir=${DATASET_DIR} \
  --model_name=inception_v3

但是,会发生此错误。

NotFoundError (see above for traceback): Key InceptionV3/Conv2d_3b_1x1/weights not found in checkpoint
         [[Node: save/RestoreV2_51 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/RestoreV2_51/tensor_names, save/RestoreV2_51/shape_and_slices)]]
         [[Node: save/RestoreV2_233/_1359 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_576_save/RestoreV2_233", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]]

我明白了如果我不指明检查点,这个程序会在没有任何预先训练的重量的情况下开始训练。 但是我不知道为什么会发生这个错误。

第二个问题是,

我无法完全理解clone、replica、parameter-server(ps)和worker的含义,混淆了tensorflow multi-gpu manual和slim。

您能否建议如何使用多 GPU 进行训练?

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    似乎在 TRAIN_DIR=/home/ywlee/models/slim/results/ 中已经有一个模型正在尝试加载的检查点。 尝试使用没有任何检查点的干净目录。

    【讨论】:

      【解决方案2】:

      添加--num_clones=n可以使用mutli-gpu,否则默认使用一个gpu。

      清理 TRAIN_DIR 对我有用,也许有帮助

      【讨论】:

        猜你喜欢
        • 2017-01-13
        • 2017-09-08
        • 2018-07-13
        • 2020-01-03
        • 1970-01-01
        • 1970-01-01
        • 2021-05-05
        • 2017-05-15
        • 2018-08-13
        相关资源
        最近更新 更多