Motivation

博主最近在看的一篇做biomedical image SR的论文,其对数据的预处理用matlab做的…要在集群上跑的话还要重新配环境装matlab,总觉得不太舒服…于是就想干脆把他的matlab代码转成python代码好了。

matlab2python工具

在网上查工具的时候发现中文博客(基本都是抄的)在推荐一个叫SMOP的工具。博主亲测这个工具配置问题比较大…配置完成之后还是用不了。查了一下,大概意思是这个工具好像要python2的环境。emmmmmmmmmmmmm,感觉有点坑,于是放弃了。
在这里插入图片描述
换了一个叫 matlab2python 的工具,亲测简单易上手

  1. 安装:
    git clone https://github.com/ebranlard/matlab2python
    cd matlab2python
    pip install -r requirements.txt
    
    如果有朋友不能翻墙clone不下来代码,把上面第一行命令换成:
    git clone https://gitee.com/zongfang/matlab2python.git
    
  2. 使用:
    在matlab2python目录下输入
    python matlab2python.py file.m -o file.py
    
    注意:file.m如果不指定位置就是当前目录下的,如果要用别的目录下的文件,需要指定路径。

工具只能转换一些基本语法,实际估计大多数情况下转换完应该还是没办法直接用的。转换完还是要自己人工检查调整一下。

2022年3月19日更新:亲测这个工具只能大概转一下,很多的函数都没办法转,如果是图像处理之类的代码只能做一个大概的参考,没办法转完直接用。

参考: https://www.pythonpool.com/convert-matlab-to-python/

Motivation博主最近在看的一篇做biomedical image SR的论文,其对数据的预处理用matlab做的…要在集群上跑的话还要重新配环境装matlab,总觉得不太舒服…于是就想干脆把他的matlab代码转成python代码好了。matlab2python工具在网上查工具的时候发现中文博客(基本都是抄的)在推荐一个叫SMOP的工具。博主亲测这个工具配置问题比较大…配置完成之后还是用不了。查了一下,大概意思是这个工具好像要python2的环境。emmmmmmmmmmmmm,感觉有点坑,于是 这是Richard Xu徐亦达教授( )提供的一组新的机器学习 教程 Python 代码 和演示。 conversion.ipynb 包含一些基本的 python 代码 Python MATLAB 之间的等效性在“ conversion.ipynb”和“ conversion.m”中都被证明具有相同的名称 batch_norm.ipynb 包含有关为何批归一化使梯度下降更快的一些解释和演示
SMOP 是小型 Matlab 和八度到 Python 编译器。 SMOP将 matlab 翻译成 python 。尽管 matlab 和数字 python 之间有明显的相似之处,但在现实生活中有足够的差异使手工翻译不可行。 SMOP生成人类可读的蟒蛇,这似乎也比八度快。速度有多快?表1显示了“移动家具”的计时结果。似乎对于该程序, 换为 python 导致加速大约两倍,并且 使用cython 将SMOP运行时库编译runtime.py为C 实现了额外的两倍加速。这个伪基准测量标量性能,而我的解释是标量计算对八度组不太感兴趣。 使用方法: $ cd smop / smop $ python main.py solver.m $ python solver.py
使用的是 matlab 2 python , 参考大佬博文【 Matlab 一键 Matlab 代码 python 代码 详细 教程 Github:https://github.com/ebranlard/ matlab 2 python 因为在安装和使用过程中还是走了一点点弯路,小白特在此记个笔记。 首先需要安装git和pip, 安装pip自行百度,安装git我参考的是:Git 详细 安装 教程 (详解 Git 安装过程的每一个步骤) ———————————————————— 安装完成后打开命令提示符 输入git clone
可以使用 MATLAB 工具箱 " MATLAB 集成工具" 将 MATLAB 代码 换为 Python 代码 。这个工具箱可以自动将大部分 MATLAB 代码 换为类似的 Python 代码 ,并且可以自动处理一些类型和语法上的差异。 在 MATLAB 中,打开工具箱的方法是:在命令窗口中输入 " matlab .engine.shareEngine" 并运行,这样就能打开这个工具箱了。然后就可以选择要 ...
当前的实现围绕着SMOP进行包装,但有以下区别: 它尝试生成不依赖libsmop 代码 ,而仅依赖于numpy类的常规 python 模块。 它使用典型的快捷方式,例如np而不是numpy 它尝试重新索引数组和循环,从0而不是1开始。 它不使用外部类 matlab array和cellarray从libsmop 添加了对 Matlab 类的基本支持。 在类的主体中声明的属性在构造函数中初始化。 综上所述,结果 代码 “不太安全”,但可能稍微接近用户编写的 代码 。 这种实现方式非常简单,因为它基本上使用了另一个后端脚本,而不是SMOP使用的后端脚本,这里称为smop\backend_m2py.py 一些功能替换直接添加到那里。 在文件 matlab parser\parser.py中完成了对类,导入模块和其他微调替换(或hacks ...)的附加支持。 该 代码 是用 python 编写 MATLAB to Python converter(https:// matlab 2 python .com/) octave2 python (https://octave2 python .readthedocs.io/en/latest/index.html) Matlab - Python (https://pypi.org/project/ matlab -pyt... 1. 确认 MATLAB 代码 中使用的函数和工具包是否有 Python 等效物。 2. 将 MATLAB 代码 中的变量和矩阵 换为 Python 变量和 NumPy 数组。 3. 重新编写 MATLAB 代码 中的函数和循环,以适应 Python 的语法和结构。 4. 确保 MATLAB 代码 中的所有库和函数在 Python 中都有相应的包或库。 5. 进行测试和调试以确保 Python 代码 的正确性。 注意事项: 1. MATLAB 代码 Python 代码 的语法和结构有所不同,因此 换需要耐心和技巧。 2. 如果您不熟悉 Python 语言 MATLAB 编程,则可能需要更长时间来 代码 。 3. 在 代码 时,请注意 MATLAB Python 中的变量和数据类型之间的差异。 4. 使用开源 代码 换工具可能会有所帮助,但它们不一定能够完全 代码 。 5. 最好将 MATLAB 代码 Python 代码 进行比较和测试,以确保它们的行为和输出相同。 【Tensorflow】tensorflow Loaded runtime CuDNN library: 7.0.5 but source was compiled with: 7.1.4.