@@ -4,6 +4,86 @@ PaddlePaddle的Docker容器使用方式
4
4
PaddlePaddle目前唯一官方支持的运行的方式是Docker容器。因为Docker能在所有主要操作系统(包括Linux,Mac OS X和Windows)上运行。 请注意,您需要更改 `Dockers设置 <https://github.com/PaddlePaddle/Paddle/issues/627 >`_ 才能充分利用Mac OS X和Windows上的硬件资源。
5
5
6
6
7
+ 纯CPU和GPU的docker镜像使用说明
8
+ ------------------------------
9
+
10
+ 对于每一个PaddlePaddle版本,我们都会发布两个Docker镜像:纯CPU的和GPU的。
11
+ 我们通过设置 `dockerhub.com <https://hub.docker.com/r/paddledev/paddle/ >`_ 自动生成最新的docker镜像:
12
+ `paddledev/paddle:0.10.0rc1-cpu ` 和 `paddledev/paddle:0.10.0rc1-gpu `。
13
+
14
+ 以交互容器方式运行纯CPU的镜像:
15
+
16
+ .. code-block :: bash
17
+
18
+ docker run -it --rm paddledev/paddle:0.10.0rc1-cpu /bin/bash
19
+
20
+ 或者,可以以后台进程方式运行容器:
21
+
22
+ .. code-block :: bash
23
+
24
+ docker run -d -p 2202:22 -p 8888:8888 paddledev/paddle:0.10.0rc1-cpu
25
+
26
+ 然后用密码 :code: `root ` SSH进入容器:
27
+
28
+ .. code-block :: bash
29
+
30
+ ssh -p 2202 root@localhost
31
+
32
+ SSH方式的一个优点是我们可以从多个终端进入容器。比如,一个终端运行vi,另一个终端运行Python。另一个好处是我们可以把PaddlePaddle容器运行在远程服务器上,并在笔记本上通过SSH与其连接。
33
+
34
+
35
+ 以上方法在GPU镜像里也能用-只是请不要忘记按装CUDA驱动,以及告诉Docker:
36
+
37
+ .. code-block :: bash
38
+
39
+ export CUDA_SO=" $( \l s /usr/lib64/libcuda* | xargs -I{} echo ' -v {}:{}' ) $( \l s /usr/lib64/libnvidia* | xargs -I{} echo ' -v {}:{}' ) "
40
+ export DEVICES=$( \l s /dev/nvidia* | xargs -I{} echo ' --device {}:{}' )
41
+ docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddle:0.10.0rc1-gpu
42
+
43
+
44
+ 运行PaddlePaddle书籍
45
+ ---------------------
46
+
47
+ Jupyter Notebook是一个开源的web程序,大家可以通过它制作和分享带有代码、公式、图表、文字的交互式文档。用户可以通过网页浏览文档。
48
+
49
+ PaddlePaddle书籍是为用户和开发者制作的一个交互式的Jupyter Nodebook。
50
+ 如果您想要更深入了解deep learning,PaddlePaddle书籍一定是您最好的选择。
51
+
52
+ 当您进入容器内之后,只用运行以下命令:
53
+
54
+ .. code-block :: bash
55
+
56
+ jupyter notebook
57
+
58
+ 然后在浏览器中输入以下网址:
59
+
60
+ .. code-block :: text
61
+
62
+ http://localhost:8888/
63
+
64
+ 就这么简单,享受您的旅程!
65
+
66
+
67
+ 非AVX镜像
68
+ ---------
69
+
70
+ 纯CPU镜像以及GPU镜像都会用到AVX指令集,但是2008年之前生产的旧电脑不支持AVX。以下指令能检查Linux电脑是否支持AVX:
71
+
72
+ .. code-block :: bash
73
+
74
+ if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
75
+
76
+ 如果输出是No,我们就需要手动编译一个非AVX版本的镜像:
77
+
78
+ .. code-block :: bash
79
+
80
+ cd ~
81
+ git clone https://github.com/PaddlePaddle/Paddle.git
82
+ cd Paddle
83
+ docker build --build-arg WITH_AVX=OFF -t paddle:cpu-noavx -f paddle/scripts/docker/Dockerfile .
84
+ docker build --build-arg WITH_AVX=OFF -t paddle:gpu-noavx -f paddle/scripts/docker/Dockerfile.gpu .
85
+
86
+
7
87
通过Docker容器开发PaddlePaddle
8
88
------------------------------
9
89
@@ -57,67 +137,6 @@ PaddlePaddle目前唯一官方支持的运行的方式是Docker容器。因为Do
57
137
ctest
58
138
59
139
60
- 纯CPU和GPU的docker镜像
61
- ----------------------
62
-
63
- 对于每一个PaddlePaddle版本,我们都会发布两个Docker镜像:纯CPU的和GPU的。我们通过设置 `dockerhub.com <https://hub.docker.com/r/paddledev/paddle/ >`_ 自动运行以下两个命令:
64
-
65
- .. code-block :: bash
66
-
67
- docker build -t paddle:cpu -f paddle/scripts/docker/Dockerfile .
68
- docker build -t paddle:gpu -f paddle/scripts/docker/Dockerfile.gpu .
69
-
70
- 以交互容器方式运行纯CPU的镜像:
71
-
72
- .. code-block :: bash
73
-
74
- docker run -it --rm paddledev/paddle:cpu-latest /bin/bash
75
-
76
- 或者,可以以后台进程方式运行容器:
77
-
78
- .. code-block :: bash
79
-
80
- docker run -d -p 2202:22 paddledev/paddle:cpu-latest
81
-
82
- 然后用密码 :code: `root ` SSH进入容器:
83
-
84
- .. code-block :: bash
85
-
86
- ssh -p 2202 root@localhost
87
-
88
- SSH方式的一个优点是我们可以从多个终端进入容器。比如,一个终端运行vi,另一个终端运行Python。另一个好处是我们可以把PaddlePaddle容器运行在远程服务器上,并在笔记本上通过SSH与其连接。
89
-
90
-
91
- 以上方法在GPU镜像里也能用-只是请不要忘记按装CUDA驱动,以及告诉Docker:
92
-
93
- .. code-block :: bash
94
-
95
- export CUDA_SO=" $( \l s /usr/lib64/libcuda* | xargs -I{} echo ' -v {}:{}' ) $( \l s /usr/lib64/libnvidia* | xargs -I{} echo ' -v {}:{}' ) "
96
- export DEVICES=$( \l s /dev/nvidia* | xargs -I{} echo ' --device {}:{}' )
97
- docker run ${CUDA_SO} ${DEVICES} -it paddledev/paddle:gpu-latest
98
-
99
-
100
- 非AVX镜像
101
- ---------
102
-
103
- 纯CPU镜像以及GPU镜像都会用到AVX指令集,但是2008年之前生产的旧电脑不支持AVX。以下指令能检查Linux电脑是否支持AVX:
104
-
105
-
106
- .. code-block :: bash
107
-
108
- if cat /proc/cpuinfo | grep -i avx; then echo Yes; else echo No; fi
109
-
110
- 如果输出是No,我们就需要手动编译一个非AVX版本的镜像:
111
-
112
- .. code-block :: bash
113
-
114
- cd ~
115
- git clone https://github.com/PaddlePaddle/Paddle.git
116
- cd Paddle
117
- docker build --build-arg WITH_AVX=OFF -t paddle:cpu-noavx -f paddle/scripts/docker/Dockerfile .
118
- docker build --build-arg WITH_AVX=OFF -t paddle:gpu-noavx -f paddle/scripts/docker/Dockerfile.gpu .
119
-
120
-
121
140
文档
122
141
----
123
142
@@ -128,7 +147,7 @@ Paddle的Docker镜像带有一个通过 `woboq code browser
128
147
129
148
.. code-block :: bash
130
149
131
- docker run -d --name paddle-cpu-doc paddle:cpu
150
+ docker run -d --name paddle-cpu-doc paddle:0.10.0rc1- cpu
132
151
docker run -d --volumes-from paddle-cpu-doc -p 8088:80 nginx
133
152
134
153
接着我们就能够打开浏览器在 http://localhost:8088/paddle/ 浏览代码。
0 commit comments