Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对不同的输入运行相同的计算两次,然后对两个结果执行进一步的计算_Python_Tensorflow - Fatal编程技术网

Python 对不同的输入运行相同的计算两次,然后对两个结果执行进一步的计算

Python 对不同的输入运行相同的计算两次,然后对两个结果执行进一步的计算,python,tensorflow,Python,Tensorflow,目前,我的方法是为计算1定义一个计算图(为两个不同的输入计算两次),为计算2定义第二个计算图,使用第一次计算的输入只运行一次(在本例中,我计算计算1的输出差,但我正在寻找一个更一般问题的解决方案)。然后我运行计算1两次,在一个Numpy数组中获得结果,然后将它们传递给图2进行第二次计算。然而,这有一个缺点,即我必须为每次计算运行单独的Tensorflow会话,并在GPU和RAM之间来回移动数据 将两个初始输入批处理到计算1也不是一个选项,因为它们的大小可能不同(但是,输出的大小总是相同的) 换句

目前,我的方法是为计算1定义一个计算图(为两个不同的输入计算两次),为计算2定义第二个计算图,使用第一次计算的输入只运行一次(在本例中,我计算计算1的输出差,但我正在寻找一个更一般问题的解决方案)。然后我运行计算1两次,在一个Numpy数组中获得结果,然后将它们传递给图2进行第二次计算。然而,这有一个缺点,即我必须为每次计算运行单独的Tensorflow会话,并在GPU和RAM之间来回移动数据

将两个初始输入批处理到计算1也不是一个选项,因为它们的大小可能不同(但是,输出的大小总是相同的)


换句话说,我需要在两个Tensorflow会话之间进行某种持久化,而不需要在会话之间存储外部数据,或者,在同一会话中有两个相同图形的副本,但不能彼此并行,因为这样会占用太多内存。

尝试使用急切执行并构建您的图形(在tensorflow代码库中搜索defun的用法以查看示例).Eagent execution允许您在设备上持久化张量,而无需获取它们,也无需担心会话。

谢谢,我不确定这是否能解决问题,但我稍后会尝试。如果在不久的将来看不到任何其他建议,我会将此标记为已解决。