TensorFlow 準備 JupyterLab 交互式筆記本環境,方便咱們邊寫代碼、邊作筆記。html
如下是本文的基礎環境,不詳述安裝過程了。node
Ubuntu 18.04.5 LTS (Bionic Beaver)python
CUDA 11.2.2linux
cuDNN 8.1.1git
Anaconda Python 3.8github
conda activate base
Anaconda 環境裏已有,以下查看版本:ubuntu
jupyter --version
否則,以下進行安裝:bash
conda install -c conda-forge jupyterlab
建立虛擬環境 tf
,再 pip
安裝 TensorFlow:ionic
# create virtual environment conda create -n tf python=3.8 -y conda activate tf # install tensorflow pip install --upgrade pip pip install tensorflow
測試:ide
$ python - <<EOF import tensorflow as tf print(tf.__version__, tf.test.is_built_with_gpu_support()) print(tf.config.list_physical_devices('GPU')) EOF
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')]
cd /usr/local/cuda/lib64 sudo ln -sf libcusolver.so.11 libcusolver.so.10
在虛擬環境 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
<!--
jupyter kernelspec list
jupyter kernelspec remove tf
-->
另外一種方式,可用 nb_conda 擴展,其於筆記裏會激活 Conda 環境:
# 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/ :
GoCoding 我的實踐的經驗分享,可關注公衆號!