虛擬環境python3中安裝caffe過程

2021-08-21 14:25:35 字數 2981 閱讀 7230

一、安裝依賴:

sudo apt install --no-install-recommends libboost-all-dev

在 /python 下啟動虛擬環境,在虛擬環境下安裝一些需要的庫。執行

for req in $(cat requirements.txt); do pip install $req; done

如果遇到許可權問題,則到虛擬環境中的bin目錄下安裝,如:

cd /home/hd/.pyenv/versions/env361/bin

sudo pip install -r ~/caffe/python/requirements.txt

二、修改makefile.config檔案

先執行cp makefile.config.example makefile.config以備份

1、如果用cpu則取消cpu_only := 1的注釋,如果使用gpu則取消use_cudnn := 1的注釋。

2、如果使用opencv3,則取消opencv_version := 3的注釋

3、選擇blas,比如blas := open(或者使用atlas,cpu的則使用mkl較好)

4、選擇python路徑,修改python_include(根據自己的虛擬環境位置修改):

python_include := /home/hd/.pyenv/versions/3.6.1/include/python3.6m \

/home/hd/.pyenv/versions/3.6.1/lib/python3.6/site-packages/numpy/core/include

5、取消python_libraries的注釋,並修改為:python_libraries := boost_python-py35 python3.6m。重點:找到虛擬環境中的libpython3.6m.so檔案,複製到/usr/lib/x86_64-linux-gnu下;確認/usr/lib/x86_64-linux-gnu下的libboost_python-py35.so的檔案存在,如果不存在py35字尾,而存在別的py3*檔案,如libboost_python-py34.so,則修改makefile.config中為boost_python-py34。

6、修改python_lib := /home/hd/.pyenv/versions/3.6.1/lib

7、取消with_python_layer := 1的注釋

8、在whatever else you find you need goes here.一句下,修改為

include_dirs := $(python_include) /usr/local/include /usr/include/hdf5/serial

library_dirs := $(python_lib) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

9、開始編譯:

make all

make test

make runtest

後兩步可省去,只執行make all

make pycaffe

語句後面加上-j8(cpu執行緒數)可以提高編譯速度,如make all -j8

10、編譯結束後,新增環境變數

sudo gedit ~/.bashrc

在末尾新增export pythonpath=/home/hd/caffe/python:$pythonpath

source ~/.bashrc

三、測試

啟動虛擬環境,執行python

輸入import caffe,如果沒任何提示,則編譯通過。

可能遇到的問題:

traceback (most recent call last):

file "", line 1, in

file "/home/.../downloads/caffe-master/python/caffe/__init__.py", line 1, in

from .pycaffe import net, sgdsolver, nesterovsolver, adagradsolver, rmspropsolver, adadeltasolver, adamsolver, nccl, timer

file "/home/.../downloads/caffe-master/python/caffe/pycaffe.py", line 15, in

import caffe.io

file "/home/.../downloads/yes/lib/python3.5/site-packages/skimage/io/_plugins/matplotlib_plugin.py", line 3, in

import matplotlib.pyplot as plt

file "/home/.../downloads/yes/lib/python3.5/site-packages/dateutil/rrule.py", line 55

raise valueerror, "can't create weekday with n == 0"

原因是matplotlib版本過低,執行pip install matplotlib --upgrade 再import caffe就可以通過。

四、番外:

在編譯rmpe專案中的caffe時,遇到

libcaffe.so:undefined reference to 『cv::videocapture::videocapture()』

這樣的問題,仔細看看發現是opencv裡的video模組出了問題

解決方法:找到makefile,195行

libraries += opencv_core opencv_highgui opencv_imgproc

改為libraries += opencv_core opencv_highgui opencv_imgproc opencv_videoio

估計是作者放出來的**不完善導致的

Ubuntu中python3安裝虛擬環境

1.首先安裝虛擬環境 sudo pip3 install virtualenv 2.安裝虛擬環境擴充套件包 3.修改使用者家目錄下的配置檔案.bashrc 例 sudo vim home python bashrc 4.bashrc檔案中新增如下內容 export workon home home ...

python3虛擬環境

projectsedu.com 編輯.bashrc檔案export workon home home virtualenvs 虛擬環境存放的位址source bashrc 新建虛擬環境 mkvirtualenv mxonline 建立並進入新建的虛擬環境進入虛擬環境 workon mxonline ...

centos 安裝python3虛擬環境

安裝環境 which python1.安裝依賴包 切記安裝 yum y groupinstall development tools yum y install zlib devel bzip2 devel openssl devel ncurses devel sqlite devel readl...