返回顶部
首页 > 资讯 > 后端开发 > Python >Pytorch 和 Tensorflow v1 兼容的环境搭建方法
  • 574
分享到

Pytorch 和 Tensorflow v1 兼容的环境搭建方法

2024-04-02 19:04:59 574人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

GitHub 上很多大牛的代码都是Tensorflow v1 写的,比较新的文章则喜欢用PyTorch,这导致我们复现实验或者对比实验的时候需要花费大量的时间在搭建不同的环境上。这篇

GitHub 上很多大牛的代码都是Tensorflow v1 写的,比较新的文章则喜欢用PyTorch,这导致我们复现实验或者对比实验的时候需要花费大量的时间在搭建不同的环境上。这篇文章是我经过反复实践总结出来的环境配置教程,亲测有效!

首先最基本的python 环境配置如下:

conda create -n py37 Python=3.7

python版本不要设置得太高也不要太低,3.6~3.7最佳,适用绝大部分代码库。(Tensorflow v1 最高支持的python 版本也只有3.7)

然后是Pytorch 环境 (因为最简单省力,哈哈哈)

# ROCM 5.1.1 (linux only)
pip install torch==1.12.1+rocm5.1.1 torchvision==0.13.1+rocm5.1.1 torchaudio==0.12.1 --extra-index-url  https://download.pytorch.org/whl/rocm5.1.1
# CUDA 11.6
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url Https://download.pytorch.org/whl/cu116
# CUDA 11.3
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
# CUDA 10.2
pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102
# CPU only
pip install torch==1.12.1+cpu torchvision==0.13.1+cpu torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cpu

推荐使用pip 安装,用conda 安装的有时候会出现torch 识别不到GPU 的问题....

官网教程链接

Previous PyTorch Versions | PyTorch

然后是显卡相关的配置, cudatoolkitcudnn. 前面这个是pytorch 环境必须具备的包,后面这个则是tensorflow 要使用GPU所必需的。前面安装完pytorch 其实已经装好了一个cudatoolkit,我的电脑是Cuda 10.2 ,所以现在环境中已经有了一个cudatookit=10.2的包了,但是Tensorflow v1 最高只支持到 Cuda 10,所以得降低cudatoolkit的版本到10.0 (Cuda 环境是向下兼容的,我的Cuda 环境是10.2 但是cudatoolkit=10.0 也一样能用,这是Tensorflow v1 最高支持的版本,只能妥协......)

conda install cudatoolkit=10.0

然后装cudnn 

conda install cudnn=7.6.5=cuda10.0_0

亦可使用如下命令搜索你所要的cudnn版本

conda search cudnn

 如果conda 下载太慢请切换国内源

https://www.jb51.net/article/199913.htm

最后把Tensorflow v1装上

pip install tensorflow-gpu==1.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

推荐的Tensorflow v1 的版本是1.15.0 和1.14.0,其他版本尚未测试

最后分别测试Pytorch 和Tensorflow 能否使用GPU如下:

import torch 
print(torch.cuda.is_available()

Pytorch 检测GPU的方法相信大家都知道,不再赘述。Tensorflow v1 检测GPU的方法如下: 

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

如果输出结果为:

TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

则降低protobuf 的版本

pip install protobuf==3.19.6 -i  https://pypi.tuna.tsinghua.edu.cn/simple

正确的输出为:

2022-10-30 21:46:59.982971: I tensorflow/core/platfORM/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2022-10-30 21:47:00.006072: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3699850000 Hz
2022-10-30 21:47:00.006792: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55d1633f2750 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-10-30 21:47:00.006808: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2022-10-30 21:47:00.008473: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1
2022-10-30 21:47:00.105474: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.105762: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55d1635c3f60 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2022-10-30 21:47:00.105784: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): NVIDIA GeForce GTX 1080 Ti, Compute Capability 6.1
2022-10-30 21:47:00.105990: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.106166: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: 
name: NVIDIA GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:01:00.0
2022-10-30 21:47:00.106369: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2022-10-30 21:47:00.107666: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10.0
2022-10-30 21:47:00.108687: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10.0
2022-10-30 21:47:00.108929: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10.0
2022-10-30 21:47:00.111721: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10.0
2022-10-30 21:47:00.112861: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10.0
2022-10-30 21:47:00.116688: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7
2022-10-30 21:47:00.116826: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.117018: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.117127: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2022-10-30 21:47:00.117170: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.0
2022-10-30 21:47:00.117421: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2022-10-30 21:47:00.117435: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 
2022-10-30 21:47:00.117446: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N 
2022-10-30 21:47:00.117529: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.117678: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2022-10-30 21:47:00.117813: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/device:GPU:0 with 10361 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 10409023728072267246
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 7385902535139826165
physical_device_desc: "device: XLA_CPU device"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 7109357658802926795
physical_device_desc: "device: XLA_GPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 10864479437
locality {
  bus_id: 1
  links {
  }
}
incarnation: 6537278509263123219
physical_device_desc: "device: 0, name: NVIDIA GeForce GTX 1080 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1"
]

 最关键的地方是你得看到你的GPU 型号,我的是 GTX 1080Ti,检测成功!

以上环境适用绝大多数深度学习模型,希望能帮到你!喜欢请点赞!

完结!撒花!

参考文献

Could not load dynamic library 'libcudart.so.10.0' - 知乎

https://medium.com/analytics-vidhya/solution-to-tensorflow-2-not-using-gpu-119fb3e04daa

How to tell if tensorflow is using gpu acceleration from inside python shell? - Stack Overflow

到此这篇关于搭建Pytorch 和 Tensorflow v1 兼容的环境的文章就介绍到这了,更多相关Pytorch 和 Tensorflow建环境内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Pytorch 和 Tensorflow v1 兼容的环境搭建方法

本文链接: https://lsjlt.com/news/120901.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Pytorch 和 Tensorflow v1 兼容的环境搭建方法
    Github 上很多大牛的代码都是Tensorflow v1 写的,比较新的文章则喜欢用Pytorch,这导致我们复现实验或者对比实验的时候需要花费大量的时间在搭建不同的环境上。这篇...
    99+
    2024-04-02
  • tensorflow基于Anaconda环境搭建的方法步骤
    目录1.简介2.在Anaconda环境下搭建TensorFlow- 安装Anaconda创建一个新的Anaconda环境激活新的环境安装TensorFlow验证TensorFlow安...
    99+
    2023-02-28
    tensorflow Anaconda环境搭建 tensorflow Anaconda 搭建
  • MacOS Pytorch 机器学习环境搭建方法
    目录1.  Anoconda 安装与环境创建2.  Pytorch 安装3.  PyCharm 安装学习 Pytorch ,首先要搭...
    99+
    2023-02-21
    Pytorch 环境搭建 Pytorch 环境
  • TensorFlow在MAC环境下的安装及环境搭建
    给大家分享一下TensorFlow在MAC系统中的安装步骤以及环境搭建的操作流程。 TensorFlow 底层的图模型结构清晰,容易改造;支持分布式训练;可视化效果好。如果做长期项目,接触较大数据集的话,T...
    99+
    2022-06-04
    环境 TensorFlow MAC
  • Redis环境搭建和使用的方法
    这篇文章主要介绍“Redis环境搭建和使用的方法”,在日常操作中,相信很多人在Redis环境搭建和使用的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis环境搭建和...
    99+
    2024-04-02
  • 搭建Redis环境的方法
    小编给大家分享一下搭建Redis环境的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!序言在实际开发项目过程中, 如果说要用到缓存, 那么第一个想到的一定是Redis, 但是为什么选Redi...
    99+
    2024-04-02
  • php环境搭建的方法
    这篇文章主要介绍了php环境搭建的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PH...
    99+
    2023-06-14
  • Hadoop安装和环境搭建方法
    这篇文章主要介绍“Hadoop安装和环境搭建方法”,在日常操作中,相信很多人在Hadoop安装和环境搭建方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hadoop安装和环境搭建方法”的疑惑有所帮助!接下来...
    99+
    2023-06-20
  • 深度学习环境搭建anaconda+pycharm+pytorch的方法步骤
    目录显卡驱动cudaanaconda1. 下载安装2. 安装pytorch虚拟环境3. conda常用指令pycahrm / jupyter下载安装如何建好的虚拟环境的解释器找出来指...
    99+
    2024-04-02
  • Ubuntu 搭建LNMP环境的方法
    本篇内容介绍了“Ubuntu 搭建LNMP环境的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!调出命令行界面,键入“cd /u...
    99+
    2023-06-13
  • Win10系统下Pytorch环境的搭建过程
    前言 以下述环境为例: python=3.7 pytorch=1.7.1 torchvision==0.8.2 cudatoolkit=10.1 pytorch和cuda版本对应参考...
    99+
    2024-04-02
  • Centos7环境下YUM的搭建方法
    1.进入yum源的配置文件 2.ls查看配置文件的东西 3.建立一个目录(随意创建一个目录),然后将yum源中配置文件全部用mv指令移动到创造的目录中并查看 4.在创造的目录中将CentOS-Media.repo移...
    99+
    2022-06-04
    CentOS下搭建yum centos搭建本地yum仓库
  • linux下mysql环境的搭建方法
    小编给大家分享一下linux下mysql环境的搭建方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!linux下mysql环境搭建的方法:首先下载Linux版本的MySQL,并解压缩文件;然后...
    99+
    2024-04-02
  • Go语言环境的搭建方法
    这篇文章主要讲解了“Go语言环境的搭建方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言环境的搭建方法”吧!安装Go语言及搭建Go语言开发环境下载下...
    99+
    2024-04-02
  • windows上php7环境搭建的方法
    这篇“windows上php7环境搭建的方法”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“windows上php7环境搭建的方法”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章...
    99+
    2023-06-06
  • Vue Vuex搭建vuex环境及vuex求和的方法
    今天小编给大家分享一下Vue Vuex搭建vuex环境及vuex求和的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-06-30
  • Vue3.0搭建环境的方法是什么
    这篇文章主要介绍“Vue3.0搭建环境的方法是什么”,在日常操作中,相信很多人在Vue3.0搭建环境的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3.0搭建...
    99+
    2024-04-02
  • docker搭建fastdfs环境的方法步骤
    fastdfs是一个开源的分布式文件系统,在实际使用中,通过源码编译安装过程非常复杂,但是通过docker快速构建却非常容易。下面介绍通过docker安装fastdfs的方法。 do...
    99+
    2024-04-02
  • docker搭建oracle开发环境的方法
    本篇内容主要讲解“docker搭建oracle开发环境的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker搭建oracle开发环境的方法”吧!oracle太大了,对于开发人员来说,在...
    99+
    2023-06-19
  • GitLab服务器环境搭建的方法
    这篇文章将为大家详细讲解有关GitLab服务器环境搭建的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下载安装CentOS7点击跳转至CentOS7下载地址,直接下载第二个CentOS-7-x86_6...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作