TensorFlow 准备 JupyterLab 交互式笔记本环境,方便我们边写代码、边做笔记。
基础环境
以下是本文的基础环境,不详述安装过程了。
Ubuntu
- Ubuntu 18.04.5 LTS (Bionic Beaver)[1]
- ubuntu-18.04.5-desktop-amd64.iso
CUDA
- CUDA 11.2.2[2]
- cuda_11.2.2_460.32.03_linux.run
- cuDNN 8.1.1[3]
- libcudnn8_8.1.1.33-1 cuda11.2_amd64.deb
- libcudnn8-dev_8.1.1.33-1 cuda11.2_amd64.deb
- libcudnn8-samples_8.1.1.33-1 cuda11.2_amd64.deb
Anaconda
- Anaconda Python 3.8[4]
- Anaconda3-2020.11-Linux-x86_64.sh
conda activate base
安装 JupyterLab
Anaconda 环境里已有,如下查看版本:
代码语言:javascript复制jupyter --version
不然,如下进行安装:
代码语言:javascript复制conda install -c conda-forge jupyterlab
安装 TensorFlow
创建虚拟环境 tf
,再 pip
安装 TensorFlow:
# create virtual environment
conda create -n tf python=3.8 -y
conda activate tf
# install tensorflow
pip install --upgrade pip
pip install tensorflow
测试:
代码语言:javascript复制$ python - <<EOF
import tensorflow as tf
print(tf.__version__, tf.test.is_built_with_gpu_support())
print(tf.config.list_physical_devices('GPU'))
EOF
代码语言:javascript复制2021-04-01 11:18:17.719061: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2.4.1 True
2021-04-01 11:18:18.437590: I tensorflow/compiler/jit/xla_cpu_device.cc:41] Not creating XLA devices, tf_xla_enable_xla_devices not set
2021-04-01 11:18:18.437998: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcuda.so.1
2021-04-01 11:18:18.458471: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-04-01 11:18:18.458996: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1720] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce RTX 2060 computeCapability: 7.5
coreClock: 1.35GHz coreCount: 30 deviceMemorySize: 5.79GiB deviceMemoryBandwidth: 245.91GiB/s
2021-04-01 11:18:18.459034: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
2021-04-01 11:18:18.461332: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublas.so.11
2021-04-01 11:18:18.461362: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcublasLt.so.11
2021-04-01 11:18:18.462072: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcufft.so.10
2021-04-01 11:18:18.462200: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcurand.so.10
2021-04-01 11:18:18.462745: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusolver.so.10
2021-04-01 11:18:18.463241: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcusparse.so.11
2021-04-01 11:18:18.463353: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudnn.so.8
2021-04-01 11:18:18.463415: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-04-01 11:18:18.463854: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2021-04-01 11:18:18.464170: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
Solution: Could not load dynamic library 'libcusolver.so.10'
代码语言:javascript复制cd /usr/local/cuda/lib64
sudo ln -sf libcusolver.so.11 libcusolver.so.10
安装 IPython kernel
在虚拟环境 tf
里,安装 ipykernel
与 Jupyter 交互。
# install ipykernel (conda new environment)
conda activate tf
conda install ipykernel -y
python -m ipykernel install --user --name tf --display-name "Python TF"
# run JupyterLab (conda base environment with JupyterLab)
conda activate base
jupyter lab
另一种方式,可用 nb_conda[5] 扩展,其于笔记里会激活 Conda 环境:
代码语言:javascript复制# install ipykernel (conda new environment)
conda activate tf
conda install ipykernel -y
# install nb_conda (conda base environment with JupyterLab)
conda activate base
conda install nb_conda -y
# run JupyterLab
jupyter lab
最后,访问 http://localhost:8888/ :
参考
- Install TensorFlow 2[6]
- Build from source[7]
- GPU support[8]
- Install TensorFlow - Anaconda[9]
- anaconda / packages / tensorflow[10]
- Installing the IPython kernel[11]
脚注
[1]Ubuntu 18.04.5 LTS (Bionic Beaver): http://releases.ubuntu.com/bionic/
[2]CUDA 11.2.2: https://developer.nvidia.com/cuda-toolkit
[3]cuDNN 8.1.1: https://developer.nvidia.com/cudnn
[4]Anaconda Python 3.8: https://www.anaconda.com/products/individual#Downloads
[5]nb_conda: https://github.com/Anaconda-Platform/nb_conda
[6]Install TensorFlow 2: https://www.tensorflow.org/install
[7]Build from source: https://www.tensorflow.org/install/source
[8]GPU support: https://www.tensorflow.org/install/gpu
[9]Install TensorFlow - Anaconda: https://docs.anaconda.com/anaconda/user-guide/tasks/tensorflow/
[10]anaconda / packages / tensorflow: https://anaconda.org/anaconda/tensorflow
[11]Installing the IPython kernel: https://ipython.readthedocs.io/en/stable/install/kernel_install.html