出现 FailedPreconditionError: runs/cnn-relu is not a directory
错误通常是因为 TensorFlow 在尝试创建日志目录时失败了。这个问题可能是由于路径不存在或者路径中包含特殊字符(如:汉字)导致的。
以下是一些解决步骤:
-
确保路径正确:首先检查
runs/cnn-relu
路径是否正确。路径中的每个部分都应该是有效的目录名。 -
手动创建目录:在代码中手动创建目录,确保所有父目录都存在。
-
使用绝对路径:使用绝对路径而不是相对路径,这可以避免一些路径解析的问题。
-
检查权限:确保当前用户有权限在指定的目录中创建文件和目录。
-
使用
os.makedirs
:使用os.makedirs
而不是os.mkdir
,因为os.makedirs
可以创建多级目录。
报错如下图:
我的runs目录是有的,没有会自动创建。那么出现这种报错的原因就是目录在创建时失败了!
【原因】:不能包含中文路径!不能包含中文路径!不能包含中文路径!
否则代码的训练环节会报错!
【解决方法】:
对于报错的代码文件:01-classification_model-cnn.ipynb
我把它移动到纯英文和数字的路径下,重启内核,就可以正常运行了。
这个问题出现第2次了,一定要记住!不然浪费很多debug的时间!
又想起来上次vim编辑器里把一个位于600多行的True错写成了Ture还找了半天,气死我了!
【修改后就可以正常训练了】: