python接口路径设置:在Matlab中设置添加可调用的python接口路径及工具
报错:无法解析名称 py.importlib.module。 解决:更改函数指令 参考官方文档:Undefined variable “py” or function “py.command”
tf=py.importlib.import_module('tensorflow')报错:错误使用 h5>init h5py.h5 (line 41) Python 错误 AttributeError: type object 'h5py.h5.H5PYConfig' has no attribute '__reduce_cython__' 解决:降低h5py 2.10.0库的版本到2.8.0: 参考博主文章:一个处女座的程序猿
启动Anaconda Prompt,命令:pip install h5py==2.8.0报错:PermissionError: [WinError 5] 拒绝访问: 'g:\\anaconda3\\envs\\keras\\lib\\site-packages\\h5py-2.10.0.dist-info'
解决:关闭Anaconda Prompt,右键单击“以管理员身份运行”,成功
Successfully installed h5py-2.8.0Matlab中再次导入tensorflow或者keras模块测试:
tf=py.importlib.import_module('tensorflow') tf = Python module - 属性: variable_creator_scope: [1×1 py.function] VERSION: [1×6 py.str] COMPILER_VERSION: [1×14 py.str] space_to_batch_nd: [1×1 py.function] ..........测试代码来源:知乎 slassddd
clc % import libs tf = py.importlib.import_module('tensorflow'); np = py.importlib.import_module('numpy'); % set problem a = tf.Variable(np.float32(0.001), pyargs('dtype',tf.float32)); k1 = tf.placeholder(tf.float32,pyargs('shape',py.None,'name','k1')); cost = a^2 + k1*a + 5; % set optimizer optimizer = tf.train.RMSPropOptimizer(pyargs('learning_rate',0.1)).minimize(cost); init = tf.global_variables_initializer(); % solve try sess = tf.Session(); sess.run(init); dict = py.dict(pyargs(k1.name,np.array([4]))); idxr = []; costr = []; for i = 1:20 sess.run(optimizer,pyargs('feed_dict',dict)); a_val = sess.run(a,pyargs('feed_dict',dict)); cost_val = sess.run(cost,pyargs('feed_dict',dict)); % 显示信息 msgstr = ['迭代%d次:变量a=%f,cost=%f\n']; fprintf(msgstr,i,a_val,cost_val); idxr = [idxr i]; costr = [costr double(cost_val)]; end sess.close() catch sess.close() end % plot plot(idxr,costr)