Ubuntu使用Anaconda部署Caffe2及Pytorch

1 预编译安装Caffe2

Anaconda安装教程:Ubuntu部署Anaconda环境及conda使用

1.0 CPU版

conda install pytorch-nightly-cpu -c pytorch
Solving environment: done
==> WARNING: A newer version of conda exists. <==
  current version: 4.5.12
  latest version: 4.6.8
Please update conda by running
    $ conda update -n base -c defaults conda
## Package Plan ##
  environment location: /home/xdq/anaconda3/envs/py37cpu
  added / updated specs: 
    - pytorch-nightly-cpu
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    wheel-0.33.1               |           py37_0          39 KB
    setuptools-40.8.0          |           py37_0         643 KB
    libedit-3.1.20181209       |       hc058e9b_0         188 KB
    numpy-base-1.16.2          |   py37hde5b4d6_0         4.3 MB
    mkl_fft-1.0.10             |   py37ha843d7b_0         169 KB
    ninja-1.8.2                |   py37h6bb024c_1         1.3 MB
    python-3.7.2               |       h0371630_0        36.4 MB
    sqlite-3.27.2              |       h7b6447c_0         1.9 MB
    numpy-1.16.2               |   py37h7e9f1db_0          49 KB
    ca-certificates-2019.1.23  |                0         126 KB
    openssl-1.1.1b             |       h7b6447c_1         4.0 MB
    cffi-1.12.2                |   py37h2e261b9_1         222 KB
    pytorch-nightly-cpu-1.0.0.dev20190317|      py3.7_cpu_0        49.4 MB  pytorch
    pip-19.0.3                 |           py37_0         1.8 MB
    certifi-2019.3.9           |           py37_0         155 KB
    ------------------------------------------------------------
                                           Total:       100.7 MB
The following NEW packages will be INSTALLED:
    blas:                1.0-mkl                              
    ca-certificates:     2019.1.23-0                          
    certifi:             2019.3.9-py37_0                      
    cffi:                1.12.2-py37h2e261b9_1                
    intel-openmp:        2019.1-144                           
    libedit:             3.1.20181209-hc058e9b_0              
    libffi:              3.2.1-hd88cf55_4                     
    libgcc-ng:           8.2.0-hdf63c60_1                     
    libgfortran-ng:      7.3.0-hdf63c60_0                     
    libstdcxx-ng:        8.2.0-hdf63c60_1                     
    mkl:                 2019.1-144                           
    mkl_fft:             1.0.10-py37ha843d7b_0                
    mkl_random:          1.0.2-py37hd81dba3_0                 
    ncurses:             6.1-he6710b0_1                       
    ninja:               1.8.2-py37h6bb024c_1                 
    numpy:               1.16.2-py37h7e9f1db_0                
    numpy-base:          1.16.2-py37hde5b4d6_0                
    openssl:             1.1.1b-h7b6447c_1                    
    pip:                 19.0.3-py37_0                        
    pycparser:           2.19-py37_0                          
    python:              3.7.2-h0371630_0                     
    pytorch-nightly-cpu: 1.0.0.dev20190317-py3.7_cpu_0 pytorch
    readline:            7.0-h7b6447c_5                       
    setuptools:          40.8.0-py37_0                        
    sqlite:              3.27.2-h7b6447c_0                    
    tk:                  8.6.8-hbc83047_0                     
    wheel:               0.33.1-py37_0                        
    xz:                  5.2.4-h14c3975_4                     
    zlib:                1.2.11-h7b6447c_3                    
Proceed ([y]/n)? 

输入:y

  • Result
Downloading and Extracting Packages
wheel-0.33.1         | 39 KB     | ##################################### | 100% 
setuptools-40.8.0    | 643 KB    | ##################################### | 100% 
libedit-3.1.20181209 | 188 KB    | ##################################### | 100% 
numpy-base-1.16.2    | 4.3 MB    | ##################################### | 100% 
mkl_fft-1.0.10       | 169 KB    | ##################################### | 100% 
ninja-1.8.2          | 1.3 MB    | ##################################### | 100% 
python-3.7.2         | 36.4 MB   | ##################################### | 100% 
sqlite-3.27.2        | 1.9 MB    | ##################################### | 100% 
numpy-1.16.2         | 49 KB     | ##################################### | 100% 
ca-certificates-2019 | 126 KB    | ##################################### | 100% 
openssl-1.1.1b       | 4.0 MB    | ##################################### | 100% 
cffi-1.12.2          | 222 KB    | ##################################### | 100% 
pytorch-nightly-cpu- | 49.4 MB   | ##################################### | 100% 
pip-19.0.3           | 1.8 MB    | ##################################### | 100% 
certifi-2019.3.9     | 155 KB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

1.2 GPU版

【CUDA9 cuDNN 7】

conda install pytorch-nightly -c pytorch

【CUDA8 cuDNN 7】

conda install pytorch-nightly cuda80 -c pytorch

由以上安装命令可看出,Pytorch和Caffe2已"融合".

1.3 安装相关模块

jupyter
conda install -n env_name jupyter
protobuf
conda install -n env_name protobuf
future
conda install --name env_name future

1.4 启动jupyter

# 启动conda环境
conda activate  env_name
(env_name)$ jupyter notebook

1.5 测试Caffe2

from caffe2.python import core, workspace
from caffe2.proto import caffe2_pb2

2 安装Pytorch

2.1 conda安装

CPU版
conda install pytorch-cpu torchvision-cpu -c pytorch
Solving environment: done
==> WARNING: A newer version of conda exists. <==
  current version: 4.5.12
  latest version: 4.6.8
Please update conda by running
    $ conda update -n base -c defaults conda
## Package Plan ##
  environment location: /home/xdq/anaconda3/envs/4pytorch
  added / updated specs: 
    - pytorch-cpu
    - torchvision-cpu
The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    pillow-5.4.1               |   py37h34e0f95_0         616 KB
    libtiff-4.0.10             |       h2733197_2         604 KB
    torchvision-cpu-0.2.2      |             py_3          44 KB  pytorch
    pytorch-cpu-1.0.1          |      py3.7_cpu_2        26.8 MB  pytorch
    libpng-1.6.36              |       hbc83047_0         346 KB
    ------------------------------------------------------------
                                           Total:        28.4 MB
The following NEW packages will be INSTALLED:
    blas:            1.0-mkl                        
    ca-certificates: 2019.1.23-0                    
    certifi:         2019.3.9-py37_0                
    cffi:            1.12.2-py37h2e261b9_1          
    freetype:        2.9.1-h8a8886c_1               
    intel-openmp:    2019.1-144                     
    jpeg:            9b-h024ee3a_2                  
    libedit:         3.1.20181209-hc058e9b_0        
    libffi:          3.2.1-hd88cf55_4               
    libgcc-ng:       8.2.0-hdf63c60_1               
    libgfortran-ng:  7.3.0-hdf63c60_0               
    libpng:          1.6.36-hbc83047_0              
    libstdcxx-ng:    8.2.0-hdf63c60_1               
    libtiff:         4.0.10-h2733197_2              
    mkl:             2019.1-144                     
    mkl_fft:         1.0.10-py37ha843d7b_0          
    mkl_random:      1.0.2-py37hd81dba3_0           
    ncurses:         6.1-he6710b0_1                 
    ninja:           1.8.2-py37h6bb024c_1           
    numpy:           1.16.2-py37h7e9f1db_0          
    numpy-base:      1.16.2-py37hde5b4d6_0          
    olefile:         0.46-py37_0                    
    openssl:         1.1.1b-h7b6447c_1              
    pillow:          5.4.1-py37h34e0f95_0           
    pip:             19.0.3-py37_0                  
    pycparser:       2.19-py37_0                    
    python:          3.7.2-h0371630_0               
    pytorch-cpu:     1.0.1-py3.7_cpu_2       pytorch
    readline:        7.0-h7b6447c_5                 
    setuptools:      40.8.0-py37_0                  
    six:             1.12.0-py37_0                  
    sqlite:          3.27.2-h7b6447c_0              
    tk:              8.6.8-hbc83047_0               
    torchvision-cpu: 0.2.2-py_3              pytorch
    wheel:           0.33.1-py37_0                  
    xz:              5.2.4-h14c3975_4               
    zlib:            1.2.11-h7b6447c_3              
    zstd:            1.3.7-h0b5b093_0               
Proceed ([y]/n)?

输入:y

Downloading and Extracting Packages
pillow-5.4.1         | 616 KB    | ##################################### | 100% 
libtiff-4.0.10       | 604 KB    | ##################################### | 100% 
torchvision-cpu-0.2. | 44 KB     | ##################################### | 100% 
pytorch-cpu-1.0.1    | 26.8 MB   | ##################################### | 100% 
libpng-1.6.36        | 346 KB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
GPU版

【CUDA10.0】

conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

【CUDA9.0】

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

【CUDA8.x】

conda install pytorch torchvision cudatoolkit=8.0 -c pytorch

2.2 pip安装

CPU版

【Python 2.7】

pip install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
# if the above command does not work, then you have python 2.7 UCS2, use this command
pip install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp27-cp27m-linux_x86_64.whl

【Python 3.5】

pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision

【Python 3.6】

pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp36-cp36m-linux_x86_64.whl
pip3 install torchvision

【Python 3.7】

pip3 install https://download.pytorch.org/whl/cpu/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
pip3 install torchvision
GPU版
CUDA10

【CUDA10.0 Python 2.7】

pip install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
# if the above command does not work, then you have python 2.7 UCS2, use this command
pip install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp27-cp27m-linux_x86_64.whl

【CUDA10.0 Python 3.5】

pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision

【CUDA10.0 Python 3.6】

pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp36-cp36m-linux_x86_64.whl
pip3 install torchvision

【CUDA10.0 Python 3.7】

pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
pip3 install torchvision
CUDA9

【CUDA9.0 Python2.x】

pip install pytorch torchvision

【CUDA9.0 Python3.x】

pip3 install pytorch torchvision
CUDA8

【CUDA8.x Python 2.7】

# Python 2.7
pip install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp27-cp27mu-linux_x86_64.whl
pip install torchvision
# if the above command does not work, then you have python 2.7 UCS2, use this command
pip install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp27-cp27m-linux_x86_64.whl

【CUDA8.x Python 3.5】

# Python 3.5
pip3 install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision

【CUDA8.x Python 3.6】

# Python 3.6
pip3 install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp36-cp36m-linux_x86_64.whl
pip3 install torchvision

【CUDA8.x Python 3.7】

# Python 3.7
pip3 install https://download.pytorch.org/whl/cu80/torch-1.0.1.post2-cp37-cp37m-linux_x86_64.whl
pip3 install torchvision

2.3 安装jupyter

conda install -n env_name jupyter

2.4 启动jupyter

# 启动conda环境
conda activate  env_name 
(env_name)$jupyter notebook

2.4 测试pytorch

import torch
x = torch.rand(5, 3)
print("pytorch value: {}".format(x))
torch value: tensor([[0.3007, 0.3312, 0.4018],
        [0.8476, 0.7637, 0.4661],
        [0.3087, 0.6952, 0.9150],
        [0.7295, 0.5297, 0.7579],
        [0.4961, 0.4061, 0.0495]])

3 源码安装

【(1) requirements.txt】

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
      build-essential \
      git \
      libgoogle-glog-dev \
      libgtest-dev \
      libiomp-dev \
      libleveldb-dev \
      liblmdb-dev \
      libopencv-dev \
      libopenmpi-dev \
      libsnappy-dev \
      libprotobuf-dev \
      openmpi-bin \
      openmpi-doc \
      protobuf-compiler \
      python-dev \
      python-pip                          
pip install --user \
      future \
      numpy \
      protobuf \
      typing \
      hypothesis
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends \
      libgflags2 \
      cmake3
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends \
      libgflags-dev \
      cmake

【(2) conda环境激活】

conda activate 4pytorch

【(2) 编译安装】
这些操作在conda的环境中操作。

# 进入文件夹如
cd xinPrj
# 下载项目源码
git clone https://github.com/pytorch/pytorch.git && cd pytorch
# 更新子模块
git submodule update --init --recursive
# 开启使用LMDB数据并编译安装caffe2
# USE_LMDB=ON是关键
USE_LMDB=ON python setup.py install

【(3) 安装完毕】

running install_scripts
# conda虚拟环境为:/home/xdq/anaconda3/envs/4pytorch/
Installing convert-caffe2-to-onnx script to /home/xdq/anaconda3/envs/4pytorch/bin
Installing convert-onnx-to-caffe2 script to /home/xdq/anaconda3/envs/4pytorch/bin

4 问题

4.1 import torch

【Problem】

import-im6.q16: not authorized `torch' @ error/constitute.c/WriteImage/1037

【Reason】
未在pytorch环境中启用torch
【Solve】
在pytorch环境中启用torch.

4.2 no module named ‘google’

【Problem】

 File "/home/xdq/anaconda3/envs/4caffe2/lib/python3.7/site-packages/caffe2/proto/caffe2_pb2.py", line 6, in <module>
    from google.protobuf.internal import enum_type_wrapper
ModuleNotFoundError: No module named 'google'

【Reason】
缺少protobuf
【Solve】
安装protobuf

conda install -c https://conda.anaconda.org/anaconda protobuf
Please update conda by running
    $ conda update -n base -c defaults conda
## Package Plan ##
  environment location: /home/xdq/anaconda3/envs/4caffe2
  added / updated specs: 
    - protobuf
The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libprotobuf-3.6.1          |       hd408876_0         4.1 MB  anaconda
    six-1.12.0                 |           py37_0          22 KB  anaconda
    protobuf-3.6.1             |   py37he6710b0_0         615 KB  anaconda
    ------------------------------------------------------------
                                           Total:         4.7 MB
The following NEW packages will be INSTALLED:
    libprotobuf: 3.6.1-hd408876_0     anaconda
    protobuf:    3.6.1-py37he6710b0_0 anaconda
    six:         1.12.0-py37_0        anaconda
Proceed ([y]/n)? 

输入:y

4.3 no module named ‘past’

【Problem】

 File "/home/xdq/anaconda3/envs/4caffe2/lib/python3.7/site-packages/caffe2/python/core.py", line 9, in <module>
    from past.builtins import basestring
ModuleNotFoundError: No module named 'past'

【Reason】
缺少future
【Solve】
安装future

conda install env_name future

5 总结

(1) Caffe2现已和Pytorch"融合",安装Caffe2和Pytorch中的任意一个,即可拥有两者的环境.
(2) 为在各自的conda环境中使用jupyter,需要在各自环境中先安装jupyter,然后启动想用的conda环境,在conda环境中启动jupyter.
(3) Caffe2和Pytorch均支持CPU和GPU两个版本,注意cuDNN和CUDA的版本,版本匹配可参考下面博客.
支持:GPU之CUDA&cuDNN&Tensorflow版本匹配

(5) 解决读取caffe2数据数据问题,使用源码安装方式,同时开启数据读取配置:USE_LMDB=ON;


[参考文献]
[1]https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=prebuilt
[2]https://pytorch.org/get-started/locally/
[3]https://www.cnblogs.com/huolifeng/p/6412183.html
[4]https://blog.csdn.net/u011534057/article/details/51557177
[5]https://github.com/pytorch/pytorch/issues/10119
[6]https://caffe2.ai/docs/getting-started.html?platform=ubuntu&configuration=compile


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于初学者来说,anaconda是科学计算的一套工具集,其中的conda是一个包管理器,能够轻松地安装、更新和卸载众多的Python软件包。 安装d2lzh_pytorch前,需要先安装anacondapytorch。关于pytorch的安装,请参考pytorch官方文档进行安装。 接下来,我们来具体讲解如何在anaconda中安装d2lzh_pytorch: 1. 打开anaconda prompt,进入conda环境 2. 输入以下指令,创建新环境并安装ipykernel: conda create -n d2lzh_pytorch conda activate d2lzh_pytorch conda install ipykernel 3. 在新环境中安装d2lzh_pytorch: pip install d2lzh_pytorch 4. 在jupyter notebook中,将内核设置为创建的新环境: python -m ipykernel install --user --name d2lzh_pytorch --display-name "Python (d2lzh_pytorch)" 5. 打开jupyter notebook,输入以下代码进行测试: import torch import d2lzh_pytorch from d2lzh_pytorch import * x = torch.ones(3, 4) print(x) 如果成功打印出tensor([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]]),则表明d2lzh_pytorch已经成功安装。 值得注意的是,此方法安装的是d2lzh_pytorch的CPU版本。如果需要使用GPU版本,请在安装pytorch时安装相应的GPU版本,并在安装d2lzh_pytorch时加上gpu的标记: pip install d2lzh_pytorch-gpu 至此,d2lzh_pytorch的安装就全部完成了。 ### 回答2: anaconda是一款Python的包管理工具,可以帮助用户方便地安装和管理Python的各种包和环境。而d2lzh_pytorch是一本深度学习的教程,其中使用PyTorch框架。在anaconda中安装d2lzh_pytorch需要经过以下步骤: 1. 安装anaconda 如果还没有安装anaconda,可以先从官网下载安装包进行安装。安装后可以在命令行窗口中输入conda --version来确认是否安装成功。 2. 创建conda环境 可以考虑创建一个专门用于d2lzh_pytorch的conda环境,可以避免包之间的依赖关系混乱。可以在命令行窗口中输入以下命令来创建: ```conda create -n d2lzh_pytorch python=3.6``` 其中d2lzh_pytorch是环境的名字,python=3.6指定了Python的版本。 3. 激活conda环境 创建好环境后,需要激活该环境才能进行后续操作。可以在命令行窗口中输入以下命令来激活环境: ```conda activate d2lzh_pytorch``` 其中d2lzh_pytorch是刚才创建的环境名字。 4. 安装PyTorch 在激活conda环境后,就可以安装PyTorch了。可以在命令行窗口中输入以下命令来安装: ```conda install pytorch torchvision torchaudio cpuonly -c pytorch``` 其中cpuonly表示只安装CPU版本,如果需要安装GPU版,可以去PyTorch官网查看对应的安装命令。 5. 安装d2lzh_pytorch 在安装好PyTorch后,就可以安装d2lzh_pytorch了。可以在命令行窗口中输入以下命令来安装: ```pip install d2lzh_pytorch``` 6. 验证安装结果 安装完成后,可以尝试导入d2lzh_pytorch模块,看能否成功。可以在Python交互界面或者jupyter notebook中输入以下代码进行测试: ``` import d2lzh_pytorch as d2l d2l.set_figsize() ``` 如果代码能够成功运行,说明安装成功。 ### 回答3: anaconda是一个非常流行的Python包管理器和环境管理器,它允许用户轻松地安装、配置和管理Python开发所需的各种包和库。d2lzh_pytorch是一种基于PyTorch框架的深度学习教程和代码库,可以帮助用户快速入门深度学习领域。 要安装d2lzh_pytorch,首先需要在本地机器上安装Anaconda环境。可以访问Anaconda官方网站并按照其指示进行安装。一旦安装完成,就可以打开Anaconda Prompt或Anaconda Navigator并在命令行中输入以下命令来安装d2lzh_pytorch: ``` conda install pytorch torchvision matplotlib pip install d2lzh_pytorch ``` 这两个命令将分别安装PyTorch、Matplotlib以及d2lzh_pytorch。在安装后,可以打开Python编辑器并导入d2lzh_pytorch来编写深度学习代码和应用。 需要注意的是,由于安装d2lzh_pytorch时需要下载一些大型依赖项,因此可能需要耗费一些时间和带宽。请确保网络连接稳定,并耐心等待安装完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值