在从MATLAB调用的Python模块中导入Tensorflow
这里是设置和我要做的 背景在从MATLAB调用的Python模块中导入Tensorflow,python,linux,matlab,tensorflow,anaconda,Python,Linux,Matlab,Tensorflow,Anaconda,这里是设置和我要做的 背景 Ubuntu Linux 14.04 LTS MATLAB R2016a Anaconda 4.1.1(Python 2.7版本) Tensorflow r0.10(支持GPU)在名为TF的Conda虚拟环境中 直接从Python调用Tensorflow时效果良好。我的问题是调用一个Python模块,该模块使用MATLAB中的Tensorflow 使用pyversion我更改了MATLAB用作Python解释器的可执行文件。它指向/anaconda2/envs/TF/
pyversion
我更改了MATLAB用作Python解释器的可执行文件。它指向/anaconda2/envs/TF/bin/python
。为了检查执行是否正确,我创建了以下python模块:
#myMod
def Foo(n):
return n
在MATLAB命令行中,py.myMod.Foo(n)
工作正常。
现在我修改模块以导入tensorflow:
#myMod2
import tensorflow as tf
def Foo(n):
return n
在MATLAB命令行中,py.myMod2.Foo(n)
阻塞MATLAB。我在MATLAB窗口的左下角看到忙信号。就这样,好像它陷入了一个无限循环
最后,请注意:
导入tensorflow作为tf
替换为导入numpy作为np
并键入py.myMod2.Foo(n)
libstdc++.so.6
和libstdc++.so.6.0.17
替换为TF环境中的解决方案):
name = 'myScript.py';
cmd = ['source activate TF; python ', cd, '/', name, '; source deactivate'];
[status, commandOut] = unix(cmd);
此解决方案只是一种变通方法,因为它委托UNIX来完成这项工作。此外,它完全忽略了MATLAB和Python之间的变量传递
有什么想法吗
谢谢
EC你找到这个问题的解决方案了吗?因为我有同样的问题。你找到这个问题的解决方案了吗?因为我有同样的问题
name = 'myScript.py';
cmd = ['source activate TF; python ', cd, '/', name, '; source deactivate'];
[status, commandOut] = unix(cmd);