julia安装mxnet深度学习框架
终于明白mxnet为啥大神狂推却不温不火,官网实在是太差了,好多链接打不开,然后文档更新不太及时。用了比pytorch少得多的资金,做出来支持一堆语言,性能还不错的框架已经不容易了。
julia安装mxnet深度学习框架需要安装MXNet.jl,安装方法就是],然后add MXNet,然后下载完编译会失败。官方文档说它会自动下载进行编译,今天测试一天,无论windows还是ubuntu装好各自工具链的前提下都无法自动编译。人工编译简直大坑,先编译半天opencv,然后好了之后编译mxnet需要编译googletest,那玩意按照官方文档用cmake生成配置都失败。还有后续的oneDNN,等各种包需要编译,这里最给力的还是openblas,提供预编译好的文件。
后来想下原理,不就是需要libmxnet.lib或者libmxnet.so之类的文件嘛,直接miniconda命令行用pip install mxnet,租的云服务器没有显卡,就装cpu版本了,有nvidia显卡可以装对应的cuda版本mxnet。
另外,从1.7版本开始,mxnet默认启用了oneDNN(原来的Intel MKL DNN,也支持AMD cpu),所以可以一起装上:
pip install onednn-cpu-iomp
装完之后,找到conda的site-packages目录,里面找到mxnet,里面有预编译好的所有需要的文件,复制这个路径。
打开julia,用命令指定这个路径:
ENV["MXNET_HOME"]="D:\\conda\\Lib\\site-packages\\mxnet"
这里=右侧得需要根据自己的系统和实际路径修改成正确的。
然后直接 using MXNet
这时会提示precompiling,过一会没错误的话就出来提示符了,可以测试下:
mx.cpu()
这方法windows和linux通用,省去大把编译的时间和精力。
为了不需要每次在julia中using MXNet都指定ENV,可以在环境变量中建立MXNET_HOME=实际路径,Linux需要改下.bashrc,大致原理都是通用的。