tensorflow-SSD算法在训练过程中出现的问题和解决方案

问题汇总:

    Key vgg_16/block10/conv1x1/biases not found in checkpoint
    [[Node: save_1/RestoreV2 = RestoreV2[dtypes=[DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, …, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT, DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save_1/Const_0_0, save_1/RestoreV2/tensor_names, save_1/RestoreV2/shape_and_slices)]]
    解决办法:将–checkpoint_model_scope=vgg_16 \更改为–checkpoint_model_scope=ssd_300_vgg \

    在windows对下载解压好的SSD-Tensorflow-master进行demo测试时,运行ssd_notebook.ipynb发现ssd_300_vgg.ckpt文件始终加载不进去?
    解决办法:看ssd_300_vgg.ckpt是否在checkpoints文件夹下,windows解压压缩文件会创建一个ssd_300_vgg的文件夹,此时将ssd_300_vgg.ckpt文件移出到checkpoints目录下即可。linux下解压不存在这个问题。

    tensorflow.python.framework.errors_impl.InternalError: Failed to create session
    解决办法:使用nvidia-smi查看是否GPU全部被占用,若存在空闲GPU,指定GPU运行程序

    InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [8] rhs shape= [84]
    [[Node: save_1/Assign_4 = Assign[T=DT_FLOAT, _class=[“loc:@ssd_300_vgg/block10_box/conv_cls/biases”], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](ssd_300_vgg/block10_box/conv_cls/biases, save_1/RestoreV2_4)]]
    解决办法:注销掉checkpoint_model_scope=ssd_300_vgg这一行

    训练过程中loss为nan
    解决办法:调小学习率,调小batchsize

    All bounding box coordinates must be in [0.0, 1.0]
    解决办法:产生原因是图片的标注信息超过了图片尺寸。将pascalvoc_to_tfrecords.py第116行代码修改如下:

bboxes.append((max(float(bbox.find('ymin').text) / shape[0],0.0),
                       max(float(bbox.find('xmin').text) / shape[1],0.0),
                       min(float(bbox.find('ymax').text) / shape[0],1.0),
                       min(float(bbox.find('xmax').text) / shape[1],1.0),
                       ))

参考链接
https://github.com/balancap/SSD-Tensorflow
https://blog.csdn.net/liuyan20062010/article/details/78905517#commentBox
https://blog.csdn.net/w5688414/article/details/78395177
https://my.oschina.net/u/876354/blog/1927351
 

猜你喜欢

转载自blog.csdn.net/duanyajun987/article/details/88898580