概述
GPflow 是一个基于TensorFlow 在 Python 中构建高斯过程模型的包。高斯过程是一种监督学习模型。
高斯过程的一些优点是:
- 不确定性是高斯过程的固有部分。高斯过程可以在不知道答案时告诉您。
- 适用于小型数据集。如果您的数据有限,高斯过程可以从您的数据中获得最大收益。
- 可以扩展到大型数据集。不可否认,尽管高斯过程可能需要大量计算,但有一些方法可以将其扩展到大型数据集。
安装步骤
严格按照GPflow和TensorFlow官网说明的步骤安装。
创建虚拟环境
首先,安装Anaconda或Miniconda,添加环境变量,在Anaconda Prompt(Anaconda3)或Anaconda Prompt(Miniconda3)中创建虚拟环境
cmd
conda create -n gpflow_env python=3.9
进入名为gpflow_env
的虚拟环境
cmd
conda activate gpflow_env
安装TensorFlow
NVIDIA显卡驱动
要安装TensorFlow并使用GPU功能,首先要确保计算机上安装有NVIDIA显卡,并且驱动版本大于450.80.02
,可在命令行中输入以下命令查看
cmd
nvidia-smi
若无此命令,则将C:\Program Files\NVIDIA Corporation\NVSMI
路径,添加到环境变量中,命令输出结果为
Mon Nov 20 18:24:35 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 546.17 Driver Version: 546.17 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce MX150 WDDM | 00000000:01:00.0 Off | N/A |
| N/A 35C P0 N/A / ERR! | 0MiB / 2048MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
驱动版本为546.17,满足要求。若不满足,需要去NVIDIA官网下载适合本机显卡的驱动程序安装。
CUDA和cuDNN
根据TensorFlow官网要求,要确保GPU功能可用,还需安装CUDA和cuDNN库,官网提供了经过验证的对应版本。
但由于本文安装的是TensorFlow v2.10,未在表中列出,因此尝试使用conda安装最新版本的CUDA和cuDNN库。
在gpflow_env
虚拟环境中,输入以下命令,安装了CUDA v12.0.0
cmd
conda config --append channels conda-forge
conda install cudatoolkit
输入以下命令,安装cuDNN v12.0.0
cmd
conda install cudnn
安装TensorFlow
使用conda安装TensorFlow库,安装了v2.10版本
cmd
conda install tensorflow
确保TensorFlow的GPU可用
TensorFlow还可以使用GPU加速计算,因此在gpflow_env
虚拟环境中使用下面命令,测试其GPU功能是否能使用。
python
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
输出如下:
Num GPUs Available: 0
2023-11-20 18:16:21.583531: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-11-20 18:16:21.588117: I tensorflow/core/common_runtime/process_util.cc:146] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
tf.Tensor(473.1806, shape=(), dtype=float32)
这表明TensorFlow未使用GPU,仅仅使用了CPU。也就是说,当前环境下,GPU不可用。
安装TensorFlow-GPU
使用pip安装tensorflow-gpu v2.10
cmd
pip install tensorflow-gpu==2.10
安装TensorFlow Probability
按照GPflow官方文档的要求,需要安装TensorFlow Probability对应版本tensorflow-probability v0.18。但是在conda上,Windows环境下,最高只有v0.14版本的包。
cmd
conda search tensorflow-probability
因此需要采用pip安装。
cmd
pip install tensorflow-probability==0.18
安装GPflow
由于conda上的最新GPflow版本为 v2.5.2,版本较老,而最新的GPflow版本为v2.9.0,所以选择用pip安装最新版本gpflow v2.9.0。
cmd
pip install gpflow
至此,GPflow安装完成。
测试
GPflow是以TensoFlow为基础的包,因此先测试TensorFlow是否正确安装,再测试GPflow。
测试TensorFlow
在gpflow_env
虚拟环境中,依次输入以下命令,不报错,即为成功安装。
cmd
python
import tensorflow as tf
测试TensorFlow的GPU是否可用
安装完成后,在gpflow_env
虚拟环境中使用下面命令,测试其GPU功能是否能使用。
python
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
输出如下
Num GPUs Available: 1
2023-11-20 20:08:56.973624: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-11-20 20:08:57.731470: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1430 MB memory: -> device: 0, name: NVIDIA GeForce MX150, pci bus id: 0000:01:00.0, compute capability: 6.1
tf.Tensor(-89.27661, shape=(), dtype=float32)
GPU功能可以正常使用。
测试GPflow
在gpflow_env
虚拟环境中,依次输入以下命令,不报错,即为成功安装。
cmd
python
import gpflow
参考资料
nvidia-smi显示不是内部或外部命令也不是可运行的程序
tensorflow官网
TensorFlow超极简安装------GPU版本的安装和测试
TensorFlow2 安装 官方推荐的环境配置 (GPU)、(Anaconda、CUDA、cuDNN)
从0安装tensorflow-gpu
使用 pip 安装 TensorFlow
GPflow 2.9.0 documentation
使用 GPU
【Python】11 Conda常用命令