按照训练脚本train_chnsenticorp_bert.py训练的时候出现错误:ProfilerNotRunningError,设置参数profile_batch为极大值后不报错,不知有什么影响和如何完美解决?

《主要问题》运行Hanlp中的训练脚本 train_chnsenticorp_bert.py时出现ProfilerNotRunningError: Cannot stop profiling. No profiler is running.
《运行平台》Windows 10, anaconda3, python3.6, Hanlp2.0.0a44, tensorflow 2.1.0
《自救措施》在github上找到有人遇到了相同错误(但不是使用Hanlp,详见https://github.com/tensorflow/tensorboard/issues/2819),下面的人提出了几条措施,我也进行了尝试:
1、在logdir中添加os.path.join:类比到我们的训练脚本,修改了几个数据文件和save_dir的路径,但是仍然报错
2、在callbacks中使用参数profile_batch,例如 callbacks = [tensorflow.keras.callbacks.TensorBoard(log_dir=logdir, histogram_freq=1, profile_batch = 100000000)]:我根据报错中的提示,找到了hanlp\common\component.py文件,在line411和412的语句中添加参数profile_batch=100000000,变成tensorboard_callback = tf.keras.callbacks.TensorBoard(
log_dir=io_util.makedirs(io_util.path_join(save_dir, ‘logs’)),profile_batch = 100000000),然后运行不报错
《疑惑》在找到的帖子中有人提出profile_batch参数是tensorflow中为了使profile生效,设置为100000000将使其失效,虽然这样可以进行训练,但是对训练模型有什么影响吗?原脚本中没有设置profilr_batch也能运行,不知我们应该如何完美解决呢?

你可以去掉TensorBoard这个callback,不影响训练结果。完美的解决方案当然是用Linux,毕竟Windows的存在本身就是业界的头号bug,参考:

哈哈哈哈感谢版主,可惜我只是学统计的,计算机这块真心不是很了解:joy: