Python 如何在不破坏Tkinter菜单的情况下使用Keras调用模块?

Python 如何在不破坏Tkinter菜单的情况下使用Keras调用模块?,python,tkinter,keras,Python,Tkinter,Keras,我正在做的一个项目是调用模块来生成模型来预测文本。在运行这些模块的过程中(显然,生成时间更长),主程序中的Tkinter菜单将停止工作。有没有办法解决这个问题 代码不是很有用,它只是通过导入加载自定义模块,然后使用“module.fuction()”调用的常规方法。您可以使用该模块在不同的线程上运行某些东西 导入模块 导入线程 创建希望新线程运行的函数 创建一个新线程并传入您创建的函数 thread=threading.thread(目标=函数,参数=参数) 其中,target是要在此新步骤

我正在做的一个项目是调用模块来生成模型来预测文本。在运行这些模块的过程中(显然,生成时间更长),主程序中的Tkinter菜单将停止工作。有没有办法解决这个问题

代码不是很有用,它只是通过导入加载自定义模块,然后使用“module.fuction()”调用的常规方法。

您可以使用该模块在不同的线程上运行某些东西

  • 导入模块
  • 导入线程
    
  • 创建希望新线程运行的函数

  • 创建一个新线程并传入您创建的函数

  • thread=threading.thread(目标=函数,参数=参数)
    
    其中,
    target
    是要在此新步骤中调用的函数,
    args
    是需要传递到函数中的参数(如果没有要传递的参数,可以将
    args
    保留在外)

  • 运行新线程
  • thread.start()
    
    您可以使用模块在不同的线程上运行某些内容

  • 导入模块
  • 导入线程
    
  • 创建希望新线程运行的函数

  • 创建一个新线程并传入您创建的函数

  • thread=threading.thread(目标=函数,参数=参数)
    
    其中,
    target
    是要在此新步骤中调用的函数,
    args
    是需要传递到函数中的参数(如果没有要传递的参数,可以将
    args
    保留在外)

  • 运行新线程
  • thread.start()
    
    您必须在单独的线程或单独的进程中运行被调用的模块。您必须在单独的线程或单独的进程中运行被调用的模块。这似乎起到了一定的作用,但现在当模块运行时,会抛出此异常:
    文件“C:\Users\Will\AppData\Local\Programs\Python37\lib\site packages\keras\backend\tensorflow\u backend.py”,第73行,在symbolic\u-fn\u包装中,如果是symbolic\u-SCOPE.value:AttributeError:“\u-thread.\u-Local”对象没有属性“value”
    (完全异常更长,但无法适应字符限制)这是一个完全的例外:你能把代码放在那个链接上吗?这样我就可以看到是什么导致了这个错误了?没关系,我刚刚降级了tensorflow,这似乎解决了问题!谢谢你的帮助!这似乎有些效果,但现在当模块运行时,它抛出了这个异常:
    File”C:\Users\Will\AppData\Local\Programs\Python37\lib\site packages\keras\backend\tensorflow\u backend.py”,第73行,在symbol\u fn\u包装中,如果(symbol\u SCOPE.value:AttributeError:)(u-symbol\u-SCOPE.value:AttributeError:"(u-thread.)本地)对象没有属性"value
    40这是一个完全的例外:你能把代码放在那个链接上吗?这样我就可以看到是什么导致了这个错误?没关系,我刚刚降级了tensorflow,这似乎解决了问题!谢谢你的帮助!