当前位置: 首页 > news >正文

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

相关文章:

【Python】12 GPflow安装

概述 GPflow 是一个基于TensorFlow 在 Python 中构建高斯过程模型的包。高斯过程是一种监督学习模型。 高斯过程的一些优点是: 不确定性是高斯过程的固有部分。高斯过程可以在不知道答案时告诉您。适用于小型数据集。如果您的数据有限,高斯过程可以从…...

Ubuntu源码编译gdal3.6.2

在华为云申请了一台Ubuntu v18的机器,乱七八糟的不要装。 apt install build-essential pkg-config -y cmake-3.21.1 apt-get install openssl libssl-dev 过程参考:Yukon for PostgreSQL_格來羙、日出的博客-CSDN博客 zlib-1.2.9(不需要) 如果用系统的后面gd…...

【LeetCode】160. 相交链表

160. 相交链表 难度:简单 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中…...

数据集笔记:NGSIM (next generation simulation)

1 数据集介绍 数据介绍s Next Generation Simulation (NGSIM) Open Data (transportation.gov) 数据地址:Next Generation Simulation (NGSIM) Vehicle Trajectories and Supporting Data | Department of Transportation - Data Portal 时间2005年到2006年间地…...

解决docker运行elastic服务端启动不成功

现象: 然后查看docker日志,发现有vm.max_map_count报错 ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 解决办法: 1. 宿主机(运行doc…...

mysql数据库中mysql database 数据被破坏产生的一系列问题

在执行sql脚本时,没有注意到sql脚本文件包含了对mysql 原始数据库的操作,执行了脚本。 脚本执行成功之后,登录或链接数据库查看数据时报错: The user specified as a definer (‘mysql.infoschema’‘localhost’) does not exis…...

基于变形卷积和注意机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)

原论文链接->DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Based on Deformable Convolution and Attention Mechanism | IEEE Journals & Magazine | IEEE Xplore DCAM-Net: A Rapid Detection Network for Strip Steel Surface Defects Base…...

05-Spring Boot工程中简化开发的方式Lombok和dev-tools

简化开发的方式Lombok和dev-tools Lombok常用注解 Lombok用标签方式代替构造器、getter/setter、toString()等重复代码, 在程序编译的时候自动生成这些代码 注解名功能NoArgsConstructor生成无参构造方法AllArgsConstructor生产含所有属性的有参构造方法,如果不希望含所有属…...

AIGC 技术在淘淘秀场景的探索与实践

本文介绍了AIGC相关领域的爆发式增长,并探讨了淘宝秀秀(AI买家秀)的设计思路和技术方案。文章涵盖了图像生成、仿真形象生成和换背景方案,以及模型流程串联等关键技术。 文章还介绍了淘淘秀的使用流程和遇到的问题及处理方法。最后,文章展望…...

ANSYS网格无关性检查

网格精度对应力结果存在很大的影响,有时候可以发现,随着网格精度逐渐提高,所求得的最大应力值逐渐趋于收敛。 默认网格: 从默认网格下计算出的应力云图可以发现,出现了的三处应力奇异点,此时算出的应力值是…...

设计模式-责任链-笔记

动机(Motivation) 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有个接受者,如果显示指定,将必不可少地带来请求者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受…...

SpringMvc请求原理流程

springmvc是用户和服务沟通的桥梁,官网提供了springmvc的全面使用和解释:DispatcherServlet :: Spring Framework 流程 1.Tomcat启动 2.解析web.xml文件,根据servlet-class找到DispatcherServlet,根据init-param来获取spring的…...

【开源】基于Vue.js的音乐偏好度推荐系统的设计和实现

项目编号: S 012 ,文末获取源码。 \color{red}{项目编号:S012,文末获取源码。} 项目编号:S012,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…...

采集1688整店商品(店铺所有商品、店铺列表api)

返回数据: 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "http…...

IObit Unlocker丨解除占用程序软件

更多内容请收藏:https://rwx.tza-3.xyz 官网:IObit Unlocker “永远不用担心电脑上无法删除的文件。” 界面简单,支持简体中文,一看就会,只需要把无法删除/移动的文件或整个U盘拖到框里就行。 解锁率很高,…...

开发一款小程序游戏需要多少钱?

小程序游戏的开发成本因多种因素而异,无法提供具体的固定数字。以下是影响小程序游戏开发成本的一些关键因素: 游戏规模和复杂度: 小程序游戏可以是简单的休闲游戏,也可以是更复杂的策略游戏。规模和复杂度会影响开发所需的时间和…...

基于Vue+SpringBoot的校园电商物流云平台开源项目

项目编号: S 034 ,文末获取源码。 \color{red}{项目编号:S034,文末获取源码。} 项目编号:S034,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 商品数据模块2.3 快…...

庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片

文章目录 Pre概述缓冲区分配和包装 (allocate 、 wrap)缓冲区分片 (slice)缓冲区份片和数据共享只读缓冲区 (asReadOnlyBuffer)直接和间接缓冲区 (allocateDirect)内存映射文件 I/O将文件映射到内存(map) Pre 庖丁解牛&#xff1…...

002 OpenCV dft 傅里叶变换

目录 一、傅里叶变换 1.1 傅里叶变换概念 1.2 opencv中傅里叶变换 二、实验代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、傅里叶变换 2.1 傅里叶变换概念 傅里叶变换(Fourier Transform)是一种…...

力扣:171. Excel 表列序号(Python3)

题目: 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 来源:力扣(LeetCode) …...

国产半导体测试设备公司领军者,杭州加速科技引领产业自主可控新征程

在半导体产业国产化全面推进的背景下,国产半导体测试设备公司成为突破产业链瓶颈、保障中国芯安全的核心力量。半导体测试设备作为芯片制造关键装备,长期依赖进口,制约国内半导体产业发展。经过多年技术攻坚,一批优质国产半导体测…...

中国信通院启动公文写作智能体评估,推动技术落地与规范发展

【导语:中国信通院在前期《智能体技术要求与评估方法》研制基础上,开展公文写作智能体技术规范编制,并联合多家单位共同参与。现正式启动首批评估工作,成果计划于2026年6月发布,将推动该技术落地与规范发展。】联合编制…...

从原理到实战:PID位置式、增量式与串级PID的嵌入式实现与调参指南

1. PID控制算法基础:从生活场景理解控制原理 想象一下你正在用淋浴洗澡,发现水温太烫时的自然反应:首先会快速把阀门往冷水方向调(比例控制),如果水温还是偏高,你会持续微调阀门(积分…...

Python与OPC UA实战:高效读写PLC数据

1. 为什么选择Python操作OPC UA? 在工业自动化领域,PLC(可编程逻辑控制器)就像工厂的"大脑",而OPC UA则是让这个大脑与其他系统对话的"普通话"。作为Python开发者,我们经常需要从PLC读…...

QQ空间记忆备份终极指南:3步永久保存你的数字青春

QQ空间记忆备份终极指南:3步永久保存你的数字青春 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心那些珍贵的QQ空间说说会随着时间消失?那些记录着青春…...

VideoSrt:零基础视频字幕自动化解决方案

VideoSrt:零基础视频字幕自动化解决方案 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows 视频创作者的效率痛点&#xff1a…...

3个步骤搞定本地OCR:让隐私保护与效率提升不再矛盾

3个步骤搞定本地OCR:让隐私保护与效率提升不再矛盾 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库…...

Tsunami Arduino硬件抽象库:高精度信号发生与频率测量

1. Tsunami信号发生器与频率计硬件抽象库概述Tsunami 是一款面向嵌入式测试与教学场景的多功能信号发生器与频率计硬件平台,其核心价值在于将高精度模拟信号生成、宽频带数字信号捕获与实时频率测量能力集成于紧凑的单板系统中。本库(tsunami-arduino&am…...

Java调用C/C++/Rust的5种方式:FFI vs JNI vs JNA vs JNR vs Panama——2024权威对比评测

第一章:Java外部函数接口概述与技术演进脉络Java外部函数接口(Foreign Function & Memory API),即Project Panama的核心成果,是Java平台为高效、安全地与本地代码(如C/C库)及非堆内存交互而…...

从VGG到ResNet:我是如何用PyTorch复现经典,并理解‘残差’如何拯救了深度学习的

从VGG到ResNet:用PyTorch复现经典,理解残差如何重塑深度学习 2014年ImageNet竞赛冠军VGG网络将深度卷积神经网络推向了19层的里程碑,但研究者们很快发现:单纯堆叠更多层数反而会导致模型性能下降。这种现象被称作"网络退化&q…...