Python 在执行脚本之前,TensorFlow知道脚本中存在函数,如何知道?
我使用的是TensorFlow 2.3,安装的GPU库有问题,所以我的脚本没有运行。这不是这里的问题,相反,发生的奇怪的事情是,当脚本中存在某个TensorFlow函数时,脚本没有运行。例如:Python 在执行脚本之前,TensorFlow知道脚本中存在函数,如何知道?,python,python-3.x,tensorflow,tensorflow2.0,Python,Python 3.x,Tensorflow,Tensorflow2.0,我使用的是TensorFlow 2.3,安装的GPU库有问题,所以我的脚本没有运行。这不是这里的问题,相反,发生的奇怪的事情是,当脚本中存在某个TensorFlow函数时,脚本没有运行。例如: # test.py print('The script has started') import tensorflow as tf model = tf.keras.Model(...) model.fit() 无论何时出现fit()函数,脚本都不会执行,甚至顶部的print语句也不会执行;相反,错误只
# test.py
print('The script has started')
import tensorflow as tf
model = tf.keras.Model(...)
model.fit()
无论何时出现
fit()
函数,脚本都不会执行,甚至顶部的print语句也不会执行;相反,错误只是打印到控制台上。然而,一旦我删除了fit()
函数,脚本就运行得非常好。TensorFlow如何知道fit()
函数存在于代码中?我通常希望脚本已启动
打印到控制台,然后抛出错误。这里缺少什么?在model.fit
开始运行之前,sys.stdout
(的默认文件)使用的缓冲区可能没有刷新。您可以使用flush=True
强制刷新此缓冲区
print('The script has started', flush=True)
sys.stdout
(的默认文件)使用的缓冲区可能在model.fit
开始运行之前未刷新。您可以使用flush=True
强制刷新此缓冲区
print('The script has started', flush=True)
是否可以使用
print('脚本已启动,flush=True)
重试?可能是打印缓冲区尚未刷新。哦,天哪,这就解决了问题!我以前以为自己疯了,甚至没想到自己没发疯。非常感谢。将此作为答案发布,我会将其标记为已解决,@jakub您可以使用print('脚本已启动,'flush=True)
重试吗?可能是打印缓冲区尚未刷新。哦,天哪,这就解决了问题!我以前以为自己疯了,甚至没想到自己没发疯。非常感谢。把它贴出来作为答案,我会把它标记为已解决,@jakub