julia安裝mxnet深度學(xué)習(xí)框架
終于明白mxnet為啥大神狂推卻不溫不火,官網(wǎng)實在是太差了,好多鏈接打不開,然后文檔更新不太及時。用了比pytorch少得多的資金,做出來支持一堆語言,性能還不錯的框架已經(jīng)不容易了。
julia安裝mxnet深度學(xué)習(xí)框架需要安裝MXNet.jl,安裝方法就是],然后add MXNet,然后下載完編譯會失敗。官方文檔說它會自動下載進(jìn)行編譯,今天測試一天,無論windows還是ubuntu裝好各自工具鏈的前提下都無法自動編譯。人工編譯簡直大坑,先編譯半天opencv,然后好了之后編譯mxnet需要編譯googletest,那玩意按照官方文檔用cmake生成配置都失敗。還有后續(xù)的oneDNN,等各種包需要編譯,這里最給力的還是openblas,提供預(yù)編譯好的文件。
后來想下原理,不就是需要libmxnet.lib或者libmxnet.so之類的文件嘛,直接miniconda命令行用pip install mxnet,租的云服務(wù)器沒有顯卡,就裝cpu版本了,有nvidia顯卡可以裝對應(yīng)的cuda版本mxnet。
另外,從1.7版本開始,mxnet默認(rèn)啟用了oneDNN(原來的Intel MKL DNN,也支持AMD cpu),所以可以一起裝上:?
pip install onednn-cpu-iomp
裝完之后,找到conda的site-packages目錄,里面找到mxnet,里面有預(yù)編譯好的所有需要的文件,復(fù)制這個路徑。
打開julia,用命令指定這個路徑:
ENV["MXNET_HOME"]="D:\\conda\\Lib\\site-packages\\mxnet"
這里=右側(cè)得需要根據(jù)自己的系統(tǒng)和實際路徑修改成正確的。
然后直接 using MXNet
這時會提示precompiling,過一會沒錯誤的話就出來提示符了,可以測試下:
mx.cpu()
這方法windows和linux通用,省去大把編譯的時間和精力。
為了不需要每次在julia中using MXNet都指定ENV,可以在環(huán)境變量中建立MXNET_HOME=實際路徑,Linux需要改下.bashrc,大致原理都是通用的。