【Python】12 GPflow安装

概述

GPflow 是一个基于TensorFlow 在 Python 中构建高斯过程模型的包。高斯过程是一种监督学习模型。

高斯过程的一些优点是:

  • 不确定性是高斯过程的固有部分。高斯过程可以在不知道答案时告诉您。
  • 适用于小型数据集。如果您的数据有限,高斯过程可以从您的数据中获得最大收益。
  • 可以扩展到大型数据集。不可否认,尽管高斯过程可能需要大量计算,但有一些方法可以将其扩展到大型数据集。

安装步骤

严格按照GPflow和TensorFlow官网说明的步骤安装。

创建虚拟环境

首先,安装Anaconda或Miniconda,添加环境变量,在Anaconda Prompt(Anaconda3)或Anaconda Prompt(Miniconda3)中创建虚拟环境

conda create -n gpflow_env python=3.9

进入名为gpflow_env的虚拟环境

conda activate gpflow_env

安装TensorFlow

NVIDIA显卡驱动

要安装TensorFlow并使用GPU功能,首先要确保计算机上安装有NVIDIA显卡,并且驱动版本大于450.80.02,可在命令行中输入以下命令查看

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

conda config --append channels conda-forge
conda install cudatoolkit

输入以下命令,安装cuDNN v12.0.0

conda install cudnn

安装TensorFlow

使用conda安装TensorFlow库,安装了v2.10版本

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

pip install tensorflow-gpu==2.10

安装TensorFlow Probability

按照GPflow官方文档的要求,需要安装TensorFlow Probability对应版本tensorflow-probability v0.18。但是在conda上,Windows环境下,最高只有v0.14版本的包。

conda search tensorflow-probability

因此需要采用pip安装。

pip install tensorflow-probability==0.18

在这里插入图片描述

安装GPflow

由于conda上的最新GPflow版本为 v2.5.2,版本较老,而最新的GPflow版本为v2.9.0,所以选择用pip安装最新版本gpflow v2.9.0。

pip install gpflow

至此,GPflow安装完成。

测试

GPflow是以TensoFlow为基础的包,因此先测试TensorFlow是否正确安装,再测试GPflow。

测试TensorFlow

gpflow_env虚拟环境中,依次输入以下命令,不报错,即为成功安装。

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虚拟环境中,依次输入以下命令,不报错,即为成功安装。

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常用命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/151117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yolov8部署——vs2019遇到的问题

Yolov8部署——vs2019遇到的问题 问题一: 默认库"LIBCMT"与其他库的使用冲突 解决方法:选择自己的项目右键属性——c/c——代码生成——运行库(多线程(/MT) 问题二: 文件包含在偏移0x18处开始…

buildadmin+tp8表格操作(2)----表头上方按钮绑定事件处理,实现功能(全选/全不选)

buildAdmin 表格上方的按钮添加完成之后, 就要对其实现功能了 有了上面的说明, 我就只要得到了 ref 中的表格对象, 就可以象el-table 一样来操作表格的属性和方法了 我们来实现上面的几个按钮的方法 全选/全不选 上面就是添加按钮功能的全过…

算法——动态规划(新)

什么是动态规划? 动态规划算法的基本思想-求解步骤-基本要素和一些经典的动态规划问题【干货】-CSDN博客 一、三步问题 面试题 08.01. 三步问题 - 力扣(LeetCode) 思路 我们要知道,走楼梯,前三个阶梯步数已经知道&…

4-5学生分数对应的成绩

![#include<stdio.h> int main(){float score;char grade;for(int i0;i<7;i){printf("请输入成绩&#xff1a;");scanf("%f",&score);while(score>100||score<0){printf("\n输入的成绩有误&#xff0c;请重新输入&#xff1a;&quo…

深入了解百度爬虫工作原理

在当今数字化时代&#xff0c;互联网已经成为人们获取信息的主要渠道之一。而搜索引擎作为互联网上最重要的工具之一&#xff0c;扮演着连接用户与海量信息的桥梁角色。然而&#xff0c;我们是否曾经好奇过当我们在搜索引擎中输入关键词并点击搜索按钮后&#xff0c;究竟是如何…

【18年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c

【18年扬大真题】 给定有m个整数的递增有序数组a和有n个整数的递减有序数组b&#xff0c; 将a数组和b数组归并为递增有序的数组c。 void Merge(int arr[],int m ,int brr[],int n,int crr[]) {int i 0;int j n-1;int k 0;while(i < m&&j > 0) {if (arr[i] &l…

Cesium 问题:输出的 纬度 latitude 是 0

文章目录 问题分析问题 在坐标转换的时候,出现如下问题 分析 在检查代码后,发现我将转换之前的高度默认设置为了 0 ,因此没能正确转换 let positionsOnCircle = [];// 圆面边缘的点 let numPoints = 360; for (let i

asp.net在线考试系统+sqlserver数据库

asp.net在线考试系统sqlserver数据库主要技术&#xff1a; 基于asp.net架构和sql server数据库 功能模块&#xff1a; 首页 登陆 用户角色 管理员&#xff08;对老师和学生用户的增删改查&#xff09;&#xff0c;老师&#xff08;题库管理 选择题添加 选择题查询 判断题添加…

图片叠加_图片压缩

图片叠加 try {/* 1 读取第一张图片*/File fileOne new File("1.png");BufferedImage imageFirst ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo new File("2.png");BufferedImage imageSecond ImageIO.read(fileTwo);//创建一个最底层画…

STM32 SPI

SPI介绍 SPI是Serial Pepheral interface缩写&#xff0c;串行外围设备接口。 SPI接口是一种高速的全双工同步通信总线&#xff0c;已经广泛应用在众多MCU、存储芯片、AD转换器和LCD之间。大部分STM32有3个SPI接口&#xff0c;本实验使用的是SPI1。 SPI同一时刻既能发送数据&…

vue3+vite+ts 发布自定义组件到npm

vue3vite 发布自定义组件到npm 初始化项目编写组件配置打包组件上传到npm测试组件库 初始化项目 // 创建项目 pnpm create vite vue-test-app --template vue-ts// 运行项目 cd vite vue-test-app pnpm install pnpm run dev编写组件 1、根目录下创建packages目录作为组件的开…

MindNode v5.0.1(思维导图软件)

思维导图软件哪个比较好呢&#xff1f;MindNode for mac一款功能简单&#xff0c;界面简洁&#xff0c;不用看教程都会用的思维导图软件。mindnode mac可随时随地记录自己的想法&#xff0c;让您从灵感入手&#xff0c;将奇思妙想铺陈在画布上&#xff0c;让一切井井有条。 Mi…

企业实现员工聊天和转账行为的实时监管

如何解决企业营销团队的管理问题&#xff1f; 在当今竞争激烈的市场环境中&#xff0c;企业营销团队的管理显得尤为重要。营销团队是企业发展的重要支柱&#xff0c;然而&#xff0c;一些常见的问题如员工飞单、私单、辱骂删除客户、离职带走公司客户以及工作不认真、工作量无…

【Linux网络】典型NAS存储方式:NFS网络共享存储服务

一、关于存储的分类 二、NFS的介绍 nfs的相关介绍&#xff1a; 1、原理 2、nfs的特点 3、nfs软件学习 4、共享配置文件的书写格式 关于权限&#xff0c;学习&#xff1a; 5、关于命令的学习&#xff1a; 三、实验操作 1、nfs默认共享权限&#xff08;服务端设置&#…

腐蚀监测常用技术及作用

上次我们介绍了设备状态监测中的红外热像技术>>热成像仪的工作原理及在工业设备状态监测中的应用&#xff0c;这次我们一起来探讨腐蚀监测技术方面的内容。 在工业领域中&#xff0c;腐蚀监测技术是腐蚀控制的重要部分和可靠而有效的手段。通过对设备的腐蚀情况进行监测和…

.babyk勒索病毒解析:恶意更新如何威胁您的数据安全

导言&#xff1a; 在数字时代&#xff0c;威胁不断进化&#xff0c;其中之一就是.babyk勒索病毒。这种病毒采用高级加密算法&#xff0c;将用户文件锁定&#xff0c;并要求支付赎金以获取解密密钥。本文91数据恢复将深入介绍.babyk勒索病毒的特点、如何应对被加密的数据&#…

运行软件报错mfc140.dll丢失?分享mfc140.dll丢失的解决方法

小伙伴们&#xff0c;你是否也有过这样的经历&#xff1a;每当碰到诸如" mfc140.dll 丢失 "之类的烦人错误时&#xff0c;你是不是会一头雾水&#xff0c;完全不知道从何下手去解决&#xff1f;不要担心&#xff0c;接下来咱就给你提供这样一篇实用教程&#xff0c;教…

【完全攻略】Gradio:建立机器学习网页APP

目录 前言一、Gradio介绍以及安装1-1、Gradio介绍1-2、安装 二、快速开始&#xff08;初步了解&#xff09;2-1、简单小栗子2-2、多输入多输出2-3、简易聊天机器人 三、关键技术3-1、带有样例的输入3-2、提示弹窗3-3、描述内容3-4、风格3-5、流式输出3-6、进度条3-7、分享APP 总…

4 redis的HyperLogLog入门原理

一、HyperLogLog&#xff08;字符串类型&#xff09; 需求&#xff1a;大型网站(不在大厂基本上用不到) 每个网页每天的 UV 数据(独立访客)&#xff0c;统计如何实现&#xff1f;(尽量少的占用存储空间) Redis 提供了 HyperLogLog 数据结构就是用来解决这种统计问题的。Hyper…

Django学习日志09

choices参数的使用 """对于以上可能被我们列举完的字段我们一般都是选择使用choices参来做""" class UserInfo(models.Model):username models.CharField(max_length64)password models.CharField(max_length32)# 先写一个映射关系gender_cho…