为了在matlab中利用丰富的python开源资源,探索了如下内容:

1)在matlab中直接调用tensorflow函数;

2)在matlab中调用tensorflow的python程序,结合matlab方便的数据处理功能;

本篇对内容1)进行描述,工作环境为win10 64位系统,python 3.6,tensorflow 1.1,matlab 2018b。为了实现在matlab中直接调用tensorflow(对其他python module方法是通用的),需要进行如下工作:

1)在win10中安装python,不会可百度;

2)安装pip,用pip安装tensorflow、numpy等python包,不会可baidu;

3)在matlab中确认python是否安装成功,不会可在matlab帮助文档中查找python相关内容,不多很好找;

4)运行如下代码

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
trysess = tf.Session();sess.run(init);dict = py.dict(pyargs(k1.name,np.array([4])));idxr = [];costr = [];for i = 1:20sess.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=%fn'];fprintf(msgstr,i,a_val,cost_val);idxr = [idxr i];costr = [costr double(cost_val)];endsess.close()
catchsess.close()
end
% plot
plot(idxr,costr)

5)运行结束后显示结果,值得注意的是,matlab中运行效率tensorflow的效率比在spyder中高

迭代1次:变量a=-0.252028,cost=4.055407
迭代2次:变量a=-0.439602,cost=3.434840
迭代3次:变量a=-0.593724,cost=2.977612
迭代4次:变量a=-0.726587,cost=2.621581
迭代5次:变量a=-0.844292,cost=2.335660
迭代6次:变量a=-0.950372,cost=2.101719
迭代7次:变量a=-1.047062,cost=1.908090
迭代8次:变量a=-1.135870,cost=1.746720
迭代9次:变量a=-1.217856,cost=1.611750
迭代10次:变量a=-1.293788,cost=1.498735
迭代11次:变量a=-1.364241,cost=1.404189
迭代12次:变量a=-1.429650,cost=1.325299
迭代13次:变量a=-1.490354,cost=1.259739
迭代14次:变量a=-1.546619,cost=1.205554
迭代15次:变量a=-1.598660,cost=1.161074
迭代16次:变量a=-1.646657,cost=1.124851
迭代17次:变量a=-1.690764,cost=1.095627
迭代18次:变量a=-1.731121,cost=1.072296
迭代19次:变量a=-1.767859,cost=1.053890
迭代20次:变量a=-1.801107,cost=1.039558

matlab gpu deep learning_在Matlab中使用tensorflow (1)相关推荐

  1. matlab gpu deep learning_优秀!这个库帮你使用GPU加速传统机器学习方法和Pandas数据处理...

    随着深度学习的火热,对计算机算力的要求越来越高.从2012年AlexNet以来,人们越来越多开始使用GPU加速深度学习的计算. 然而,一些传统的机器学习方法对GPU的利用却很少,这浪费了很多的资源和探 ...

  2. matlab sae模型,matlab的Deep Learning的toolbox 中的SAE算法

    ========================================================================================== 最近一直在看Dee ...

  3. ufldl matlab 工具箱,matlab的Deep Learning的toolbox 中的SAE算法

    最近一直在看Deep Learning,各类博客.论文看得不少 但是说实话,这样做有些疏于实现,一来呢自己的电脑也不是很好,二来呢我目前也没能力自己去写一个toolbox 只是跟着Andrew Ng的 ...

  4. matlab CPU并行计算,加速限制了改组。 GPU(Tesla K40m),MATLAB中的CPU并行计算

    我的代码: h1> close all clear all clc % open parpool skip error if it was opened try parpool(24); end ...

  5. float gpu 加速_(总结篇)使用 MATLAB GPU 加速计算|MATLAB 并行计算与分布式服务器|MATLAB技术论坛...

    本帖最后由 蓝云风翼 于 2013-12-18 17:28 编辑 注: 利用gpu加速有一下工具 1.JACKET 可从帖子中寻找 2.MATLAB a.并行计算工具箱 gpuArray,查看支持gp ...

  6. MATLAB GPU加速

    以前使用matlab 的时候,很多人都用过里面的并行工具箱,用的最多的应该就是parfor.实际上,matlab里面已经有不少工具箱里面都有了支持GPU加速的函数.使用matlab+GPU加速的前提是 ...

  7. matlab gpuarray是什么,MATLAB GPU并行编程

    gpuArray MATLAB中的gpuArray表示存储在GPU上的数据.使用gpuArray函数可以将数据从MATLAB工作空间传送到GPU.例如: A = data(10); G = gpuAr ...

  8. python变量存为matlab,详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以 ...

  9. Matlab篇(二)MATLAB中addpath的用法 (转)

    MATLAB help 中的语法: addpath('folderName1','folderName2','folderName3' ...) addpath('folderName1','fold ...

最新文章

  1. Effective Java:对于全部对象都通用的方法
  2. 多元分布和狄利克雷分布
  3. python决策树算法代码_Python3.0 实现决策树算法的流程
  4. TPAMI 2021 | 时间走向二维,基于文本的视频时间定位新方法兼顾速度与精度
  5. 【报错笔记】Eclipse导入Maven项目时pom.xml报错,项目上有红感叹号。
  6. 看完这15张动图,秒懂万有引力与航天难点!
  7. 程序员怎样获取更多的劳动收入
  8. 被骂垃圾货,却卖出8000万副,干翻国外大牌!这个产品杀手凭什么?
  9. go socket编程(详细)
  10. netsetman使用教程_人性化的IP切换工具—NetSetMan
  11. linux 如何安装whl文件,linux安装whl文件
  12. windows背景豆沙绿设置
  13. drupal mysql hash密码_drupal7 密码重置
  14. 计算机硬盘启动改u为盘启动不了,如果计算机BIOS启动项找不到硬盘应该怎么办...
  15. 渗透测试实用浏览器插件推荐
  16. TSP-粒子群算法求解
  17. STM32 AT24C64 Hal库写入错误
  18. 从某一点出发沿任意一方向旋转矩阵计算思考与实现
  19. Spring security的基础用法(普通的用户认证和授权)
  20. 开发者论坛一周精粹(第七十一期) 国外企业备案解答 邮箱只能发不能收...

热门文章

  1. C#强化系列文章五:动态代码的使用(反射和动态生成类)
  2. [PAPER-RECORD]
  3. java 内存模型程序计数器和虚拟机栈
  4. 用私有构造器或者枚举类型强化Singleton 属性
  5. sonarqube通过sonarqube maven插件分析maven工程使用的mvn命令示例
  6. go程序打包:针对不同OS打包成不同的可执行文件
  7. linux centos根据工具查找所在软件包命令:yum provides */nslookup
  8. jvm调优:GC日志格式
  9. Linux centos 6.7设置MySQL为开机启动
  10. Hadoop大数据分布式文件系统hdfs的Java操作