如何通过Tkinter和Tensorflow避免SIGSEGV错误?

时间:2019-05-13 11:45:21

标签: python tensorflow machine-learning tkinter sigsegv

我目前正在使用的某些Python代码有麻烦。我训练了一个张量流模型,现在我正在尝试使用它。因此,我制作了一个小Tkinter-GUI,它应该在每次按下按钮时以输入的随机向量执行前馈运行。最初的几次尝试始终有效,但是经过几次运行后,出现了SIGSEGV错误: “过程以退出代码139(被信号11:SIGSEGV中断)完成” 有谁知道会导致该问题的原因吗?我怀疑它与Tkinter处理功能回调有关。

以下是我代码的相关行:

在我的GUI初始化中,我加载了Tensorflow-Model:

tf.reset_default_graph()
saver = tf.train.import_meta_graph('./train/infer/infer.meta')
graph = tf.get_default_graph()
self.sess = tf.InteractiveSession()
saver.restore(self.sess, 'model.ckpt-93624')
initialize_tf_model()
self.z = graph.get_tensor_by_name('z:0')
self.G_z = graph.get_tensor_by_name('G_z:0')

然后,我使用命令功能初始化按钮:

self.slogan2 = Button(frame,
                         text="Test",
                         command=self.foo_function)
    self.slogan2.pack(side=LEFT)

这是我的执行前馈运行的foo_function:

def foo_function(self):
    _z = (np.random.rand(1, 100) * 2.) - 1
    _G_z = self.sess.run(self.G_z, {self.z: _z})

有人知道我可能在做什么错吗?

非常感谢!

0 个答案:

没有答案