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()))

posted @ 2020-09-30 17:20  数据游侠  阅读(173)  评论(0编辑  收藏  举报