【发布时间】:2018-02-18 20:10:45
【问题描述】:
我在 Tensorflow 上使用 Python 和 Keras 来训练我的神经网络。 当我从 Ubuntu 16.04 切换到 Windows 10 时,当我运行以下命令时,我的模型无法再保存:
filepath = "checkpoint-"+str(f)+model_type+"-"+optimizer_name+"-{epoch:02d}-{loss:.3f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
及以后:
model.fit(X, y,
batch_size=128,
epochs=1,
shuffle=False,
callbacks=callbacks_list)
我收到此错误:
OSError: 无法创建文件(无法打开文件:name = 'checkpoint-<_io.textiowrapper name="data/swing-projects100-raw/many-chunks/log-gamma-f3.txt" mode=" a" encoding="cp1252">2l128-adam-0.001-{epoch:02d}-{loss:.3f}.h5', errno = 22, 错误信息 = 'invalid argument', flags = 13, o_flags = 302)
我通过 conda 安装了 Keras 2.0.8 和 h5py 2.7.0。
我试过了
filepath = "checkpoint-"+str(f)+model_type+"-"+optimizer_name+"-{epoch:02d}-{loss:.3f}.hdf5"
with open(filepath, "w") as f:
f.write("Test.")
得到了类似的错误:
OSError: [Errno 22] 无效参数:“检查点-<_io.textiowrapper name="data/swing-projects100-raw/many-chunks/log-gamma-f3.txt" mode="a" encoding=" cp1252">2L128-Adam-0.001-{epoch:02d}-{loss:.3f}.hdf5"
【问题讨论】:
-
我建议尝试使用该文件路径保存任何简单的文本文件:f=open(filepath,'w')
-
@maz 请看看我编辑的问题。
-
stackoverflow.com/questions/25584124/… 建议
filepath是一个无效的文件名。如果您需要帮助确定如何将filepath设置为有效的文件名,请在问题中添加导致错误的filepath的值。 -
@SethDifley 您可以在第一条和第二条错误消息之前的问题中看到
filepath的值。我的路径是相对路径,我不知道它有什么问题。 -
@AIpeter 你不想在那个字符串上调用
.format来输入一些值吗?大括号和冒号等...是常见 linux 文件系统的有效字符,因此您会得到一个名称中包含“{epoch:02d}”的文件 - 在 Windows 上 - 这些不是文件名的有效字符..