Установка Torch7 на Win7; проблемы с cmake и PATH

Я пытаюсь установить Torch 7 в свою систему Win7 для запуска RNN, и это безумие. Я легко установил его на свою виртуальную машину Ubuntu, но он не может получить доступ к моему графическому процессору для ускорения CUDA, поэтому я либо пробую экспериментальное программное обеспечение для сквозной передачи PCI, либо пытаюсь установить Torch в Windows. Мне пока удалось установить Lua и LuaRocks (но я не могу запустить их откуда угодно, кроме пути C:\Program Files (x86)\LuaRocks\2.2). Я установил mingw и cmake. Я попытался установить Torch с помощью следующей команды:

luarocks --server=https://raw.githubusercontent.com/torch/rocks/master install torch

(источник: Установка Torch7 с Luarocks в Windows со сборкой mingw ошибка)

но я получаю:

Missing dependencies for torch:
paths >= 1.0

Using https://raw.githubusercontent.com/torch/rocks/master/paths-scm-1.rocksp
Cloning into 'paths'...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 10 (delta 0), reused 5 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), 12.81 KiB | 0 bytes/s, done.
Checking connectivity... done.
cmake -E make_directory build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Rele
gram Files (x86)/lua/5.3/include/" -DLUA_LIBDIR="C:/Program Files (x86)/lua/5
uaRocks\systree/lib/luarocks/rocks/paths/scm-1/lua" -DLIBDIR="C:\Program File
/paths/scm-1/lib" -DCMAKE_INSTALL_PREFIX="C:\Program Files (x86)\LuaRocks\sys
gw32-make

-- Building for: NMake Makefiles
CMake Warning in :
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error in :
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error in :
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

Я не знаю, где находится компилятор cl и есть ли он в моей системе. Что касается моей переменной PATH, то это явно пользовательская переменная, а не системная (у меня нет системной переменной PATH). Я не знаю, проблема ли это. В настоящее время это выглядит так:

C:\Users\USERNAME\AppData\Roaming\npm;C:\MinGW\bin;C:\Program Files (x86)\lua\5.3\bin;C\Program Files (x86)\LuaRocks\2.2;C:\Users\USERNAME\AppData\Roaming\LuaRocks\bin;C:\Program Files (x86)\LuaRocks\systree\bin

Я понятия не имею, правильно ли это, но если это предназначено для того, чтобы позволить мне запускать lua или luarocks из-за пределов их соответствующих каталогов bin, это не работает. Если у кого-то есть более простой способ установки Torch в Windows, дайте мне знать (или, черт возьми, даже способ включить ускорение графического процессора в виртуальной машине. Что-нибудь, чтобы выйти из этой тупиковой ситуации).


person IronWaffleMan    schedule 15.07.2015    source источник
comment
В вашем выводе отсутствуют части команд: -DCMAKE_BUILD_TYPE=Rele...gram Files (x86)/lua/5.3/include/"   -  person Paul Kulchenko    schedule 15.07.2015
comment
К сожалению, да, это было из-за «Отметки», которую я сделал в cmd, она захватила только прямоугольную область, достаточную для текста после нее.   -  person IronWaffleMan    schedule 15.07.2015


Ответы (1)


cl — это компилятор командной строки из Visual Studio. CMake ищет его, так как его настройки по умолчанию используют его. Чтобы использовать имеющийся у вас mingw, вам необходимо предоставить дополнительную опцию (как я описал здесь), но я не уверен, как передать его luarocks, поскольку я обычно делаю это напрямую из командной строки.

Вы можете попытаться выполнить шаги, описанные в ответе, который я связал; подробности указаны в билете torch7. Вкратце, шаги будут включать:

  1. Клонировать, скомпилировать и установить torch/paths;
  2. Клонировать, скомпилировать и установить torch/cwrap;
  3. Клонировать, скомпилировать и установить torch/torch; убедитесь, что вы скачали последний код, так как он включает в себя изменения, которые я отправил для компиляции mingw.
  4. Клонируйте, скомпилируйте и установите torch/nn. См. обсуждение в этой заявке об одном изменении, которое вам, возможно, потребуется применить.

Билет также предоставляет определенные команды, которые вы можете запустить для компиляции из командной строки.

person Paul Kulchenko    schedule 15.07.2015
comment
Если вы имеете в виду, следуйте инструкциям здесь: github.com/torch/DEPRECEATED-torch7-distro, я попробовал это и застрял с cmake, «не распознанным как внутренняя или внешняя команда» после того, как я перешел в папку сборки факела. Я попытался исправить пути, чтобы заставить его работать, но не смог справиться. - person IronWaffleMan; 15.07.2015
comment
Нет, я имею в виду обновление ответа, чтобы использовать текущий репозиторий факелов. - person Paul Kulchenko; 15.07.2015
comment
А, я думаю, вы имеете в виду github.com/torch/torch7/pull/287. Я действительно не уверен, как начать установку этих конкретных пакетов... если я начну сначала, с нуля, есть ли определенный порядок, в котором я должен что-то делать? - person IronWaffleMan; 15.07.2015