Pycharm远程调用服务器时,中间网络中断过一段时间,后来在运行程序会报这个错误。一开始以为是哪一部分代码写错了,耗费 了好几个小时,后来参考别人的错误发现:
- pycharm同步ckpt文件时,如果中断过,后面每次pycharm自动同步的时候,会使ckpt文件残缺,即使是init_checkpoint的时候也会使初始加载的模型数据残缺
目前有两种解决方法:
- 对于在初始化模型时中断的情况,建议重新跑一个模型
- 如果训练模型时中断,建议在Tools->Deploymnet->Configuration->Excluded Path添加model的路径,这样就排除model文件的同步,防止pycharm损坏model文件。
其实这种错误概率挺低的。
报的错误:
File "/home/cyl/.local/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
return func(*args, **kwargs)
File "/home/cyl/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op
op_def=op_def)
File "/home/cyl/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1770, in init
self._traceback = tf_stack.extract_stack()
OutOfRangeError (see above for traceback): Read less bytes than requested
[[node save/RestoreV2 (defined at ./tools/demo.py:143) = 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/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
[[{{node save/RestoreV2/_761}} = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_765_save/RestoreV2", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]