最近在学人工智能 ,学是没学会 跑分倒是看了一些。。。
tensorflow/models/official/mnist/ 以这个例子为例说明 tf 1.13.1 models 1.5
notebook GTX 1660ti 0.5 s 一次
notebook GTX 1050ti 1.0 s 一次
notebook GTX 1060 0.75 s 一次
桌面 GTX1060 3G 0.75 s 一次
桌面 P106-90 3G 1.0 s 一次
数字没有特别精确 但是范围就是这样
ubuntu 18.04 使用 docker 运行 tf-gpu 简直太简单了。。。
而且可以随意的使用CUDA9 CUDA 10 CUDA10.1之类的各种换(只要驱动版本够高就行)
1。安装ubuntu ubuntu-dirvers autoinstall 要求版本在驱动418以上(因为CUDA10需要)
2,安装docker https://yq.aliyun.com/articles/110806
3.安装 nvidia-docker
Debian-based distributions
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
$ sudo systemctl restart docker
验证和使用docker 其实就是加了一个标签 --gpu all(默认全上吧)
Usage
#### Test nvidia-smi with the latest official CUDA image
$ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
# Start a GPU enabled container on two GPUs
$ docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi
# Starting a GPU enabled container on specific GPUs
$ docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi
$ docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:9.0-base nvidia-smi
# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
$ docker run --gpus all,capabilities=utility nvidia/cuda:9.0-base nvidia-smi
4.docker pull tf https://hub.docker.com/ 这里去找 tensorflow/tensorflow
pytorch 的 docker 也是一个玩法的
我用的是 tensorflow/tensorflow:1.13.1-gpu-py3-jupyter --gpu版,python3,带jupyter notebook
5.启动docker
docker run --rm -it --gpus all -p 8888:8888 -v /home/zc/docker/models:/tf/models tensorflow/tensorflow:1.13.1-gpu-py3-jupyter
插入的代码是证明p106-90也是兢兢业业工作的
2019-09-07 17:02:52.457151: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 2672 MB memory) -> physical GPU (device: 0, name: P106-090, pci bus id: 0000:06:00.0, compute capability: 6.1)
INFO:tensorflow:global_step/sec: 96.8046
INFO:tensorflow:train_accuracy = 1.0 (1.033 sec)
INFO:tensorflow:loss = 0.00012315264, step = 24200 (1.033 sec)
INFO:tensorflow:global_step/sec: 99.0448
INFO:tensorflow:train_accuracy = 1.0 (1.011 sec)
INFO:tensorflow:loss = 0.00057424477, step = 24300 (1.016 sec)
INFO:tensorflow:global_step/sec: 97.9658
INFO:tensorflow:train_accuracy = 1.0 (1.021 sec)
INFO:tensorflow:loss = 0.0022550963, step = 24400 (1.019 sec)