windows系统tensorflow字符串转义字符
用tensorboard记录训练过程,为了便于区分,取时间作为文件名,遇到一个奇葩的Bug
tf.summary.FileWriter("results\\models\\stream_200_job_diff_reward_reset_5e-7_5e-8\\"+strftime("%Y-%m-%d_%H:%M:%S", gmtime()))
文件路径是预先设置,文件名是获取的日期和时间,但是会报错
InvalidArgumentError: Failed to create a directory: results\models\stream_200_job_diff_reward_reset_5e-7_5e-8/2020-09-30_09:09:50; Invalid argument
我们看到最后一个斜杠的方向发生了变化,开始我以为是转义字符的问题,但经过尝试没有问题
print("results\\models\\stream_200_job_diff_reward_reset_5e-7_5e-8\\"+strftime("%Y-%m-%d_%H:%M:%S", gmtime()))得到的结果如下,并没有错。
results\models\stream_200_job_diff_reward_reset_5e-7_5e-8\2020-09-30_09:14:49
经过尝试,发现是因为有冒号存在产生的问题,是tensorflow的BUG,改成下面的形式可以正常输出:
tf.summary.FileWriter("results\\models\\stream_200_job_diff_reward_reset_5e-7_5e-8\\"+strftime("%Y-%m-%d_%H-%M-%S", gmtime()))