Нет Nvidia / CUDA в новых Mac, пытаюсь удачи с веткой openCL Caffe
Зависимости
Установите http://brew.sh/, если у вас его нет.
Python 2.7 и numpy, если у вас его нет
brew install python pip install --upgrade pip setuptools pip install numpy
Согласно http://caffe.berkeleyvision.org/install_osx.html
brew install -vd snappy leveldb gflags glog szip lmdb
brew tap homebrew/science
brew install hdf5 opencv
brew install --build-from-source --with-python -vd protobu
brew install --build-from-source -vd boost boost-python
ВенаCL
brew install viennacl
CUDA, даже если вы не можете запустить его, вам потребуется его установить, чтобы остановить компиляцию.
brew cask install cuda
Кафе
Я клонирую в папку на ~/src
, не стесняйтесь использовать другое место
cd ~ mkdir src cd src git clone [email protected]:BVLC/caffe.git cd caffe git checkout opencl
Время компиляции (с: http://caffe.berkeleyvision.org/installation.html#compilation)
cp Makefile.config.example Makefile.config
Откройте Makefile.config
в текстовом редакторе, обновите путь включения Python в строке 104
PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/local/lib/python2.7/site-packages/numpy/core/include
Изменить: при запуске caffe возникала неприятная ошибка malloc, исправление из этого обсуждения - раскомментировать USE_LEVELDB := 0
в строке 52
Также обратите внимание, что строка 13 USE_GREENTEA := 1
должна быть раскомментирована, это подтверждает, что мы находимся в ветке openCL.
Дважды проверьте наличие необходимых файлов.
ls /usr/include/python2.7/ | grep Python.h # blank line bad, file name good ls /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/ | grep arrayobject.h # blank line bad, file name good
Если вы получаете пустые строки, значит, ваша установка Python 2.7 и / или numpy неправильная, проверьте их еще раз.
Заметки на будущее
- Строка 45
Makefile.config
имеет флагCPU_ONLY
, можете попробовать это позже, если openCL не удастся - Строка 86 из
Makefile.config
может изменить выбор библиотеки BLAS, некоторые люди рекомендуют MKL Intel вместо встроенного в macOS BLAS.
Компиляция
(флаг -j
будет использовать несколько ядер для компиляции, вы можете определить это, запустив sysctl -n hw.ncpu
mine, возвращает 8
make all -j8 make test -j8 make runtest -j8
Все тесты пройдены!
Тестирование
Пример LeNet MINST с сайта http://caffe.berkeleyvision.org/gasted/examples/mnist.html
Не уверен, что мой графический процессор используется…
Ну, по крайней мере, это закончилось, заняло ~ 12 минут.
Оценка позы для нескольких человек
Итак, настоящая цель состояла в том, чтобы запустить эту капельницу….
Они красиво обернули все в индивидуальное репозиторий Caffe, к сожалению, это для обычного Caffe на базе CUDA. Попытка заставить это работать без CUDA…
cd ~/src git clone [email protected]:CMU-Perceptual-Computing-Lab/caffe_demo.git cd model ./getModels.sh
Первые стены ударились… пока не удалось успешно скомпилировать. Поскольку они не используют ветку OpenCL, мне пришлось перенести кучу их изменений, вы можете найти их здесь, в ветках rtpose-opencl и rtpose-cpu: https://github.com/acarabott/caffe