Torch7在Windows8.1上安裝,轉載請註明出處
阿新 • • 發佈:2019-01-05
出處http://blog.163.com/lrf_pop/blog/static/62231044201669102331890/
要求:Lua版本5.1,torch7 commit 2cd59e1
前提:安裝MinGW和MSYS
1 Windows安裝Lua教程參考http://www.thijsschreijer.nl/blog/?p=863
1〉安裝Lua
下載Lua5.1.5 http://www.lua.org/ftp/lua-5.1.5.tar.gz
以下lua安裝目錄用${LUA_DIR}代替
解壓後編譯
$ make clean
$ make mingw
$ make install INSTALL_TOP=%${LUA_DIR}不要帶空格% TO_BIN="lua.exe luac.exe lua51.dll"
把%LUA_DIR%\bin配置到環境變數Path
下面一會會用到
把%LUA_DIR%\include配置到環境變數LUA_INCDIR
把%LUA_DIR%\bin配置到環境變數LUA_BINDIR
把%LUA_DIR%\bin配置到環境變數LUA_LIBDIR 這個有點問題
重新開啟命令列,輸入lua應該可以執行命令
$ lua -e "print('hello world')" 檢查lua是否安裝成功並且配置正確
2〉安裝LuaRocks
下載luarocks-2.3.0-win32 參考網址https://codeload.github.com/keplerproject/luarocks/zip/master
一定要win32版本
解壓後編譯
$ install /MW /F /LV 5.1
現在會彈出第二個視窗,記住裡面的環境變數再關閉
參考配置
LUA_PATH=C:\Program Files (x86)\LuaRocks\lua\?.lua;C:\Program Files (x86)\LuaRocks\lua\?\init.lua;%LUA_DIR%\share\lua\5.1\?.lua;%LUA_DIR%\share\lua\5.1\?\init.lua;%LUA_DIR%\lib\luarocks\rocks\cwrap\scm-1\lua\torchcwrap.lua
紅字現在不配,安裝torch時配置
LUA_CPATH=F:\MinGW\usr\local\lua-5.1.5\lib\lua\5.1\?.dll
Path裡面加上luarocks的位置
重新開啟命令列,luarocks help驗證luarocks是否安裝成功
如果你沒有lua基礎
建議安裝
$ luarocks install luafilesystem
$ lua -l lfs #驗證是否安裝成功
或者
$ lua
$ lua>require "lfs" #驗證是否安裝成功,這個方式驗證很重要,可以驗證後需要安裝是否缺少什麼包
和
$ luarocks install luasocket
$ lua -l socket #驗證是否安裝成功
$ lua
$ lua>require "socket" #驗證是否安裝成功
2 Windows安裝Lua教程參考https://github.com/torch/torch7/pull/287
以下是兩種torch包的安裝方式,如果你用第一種方式安裝不能在lua裡面
1〉LuaRocks安裝torch/cwrap
$ luarocks --server=https://raw.github.com/torch/rocks/master install cwrap
應該不會有什麼問題
$ lua
$ lua>require "cwrap" #驗證是否安裝成功
2〉Mingw安裝torch/paths
下載 paths-master https://codeload.github.com/torch/paths/zip/master
解壓後並MinGW編譯
$ cmake -E make_directory build #直接建這個目錄頁可以
$ cd build
$ cmake .. -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DLUALIB=lua51.dll -DLUA_INCDIR=%LUA_INCDIR% -DLUA_LIBDIR=%LUA_INCDIR% -DLUADIR="%LUA_DIR%/lib/luarocks/rocks/paths/scm-1/lua"
-DLIBDIR="%LUA_DIR%/lib/luarocks/rocks/paths/scm-1/lib" -DCMAKE_INSTALL_PREFIX="%LUA_DIR%/lib/luarocks/rocks/paths/scm-1"
綠字可以更換為"MinGW Makefiles"
藍字是Lua安裝目錄
$ make
$ make install
3 安裝torch7
1> 下載torch7 https://codeload.github.com/torch/torch7/zip/master
2>解壓編譯安裝
$ cmake -E make_directory build #直接建這個目錄頁可以
$ cd build
$ cmake .. -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DLUALIB=lua51.dll -DLUA_INCDIR=%LUA_INCDIR% -DLUA_LIBDIR=%LUA_LIBDIR%-DLUA="%LUA_DIR%/bin/lua"
$ make #這一部分問題比較多:
1.如果提示local can only be used in a function 說明沒有指定lua.exe的位置,即綠字部分
2.如果提示require "torchcwrap" 找不到,則在torch包下,找到torchcwrap.lua並配置到LUA_PATH環境變數下,如上所示
$ make install
安裝完成後把libluaT.dll,libTH.dll,libtorch.dll都拷貝到bin目錄下(或者拷貝到LUA_CPATH下,沒試)
驗證是否成功
$ lua -l torch
或者
$ lua
$ lua>require "torch" #驗證是否安裝成功