小白装Ubuntu20.04-系列记录(四)

目录

小白装Ubuntu20.04-系列记录(四)

虚拟环境创建

cudatoolkit安装

TensorFlow是否成功安装测试

运行时发现遗留问题


虚拟环境创建

为了方便管理,我使用conda命令创建了一个名为TF的虚拟环境,拷贝base的基础环境,存放目前项目需用的TensorFlow环境。


cudatoolkit安装

安装与对应TensorFlow版本相匹配的版本即可,参见:2021最新:TensorFlow各个GPU版本CUDA和cuDNN对应版本整理(最简洁)

这里我安装的版本是

使用conda install cudatoolkit==11.0.221命令安装

TensorFlow版本是:

使用pip install tf-nightly-gpu==2.6.0.dev20210427命令安装

这里,大家可能会疑惑,为什么你的cudatoolkit和你之前装的CUDA版本不一致呢?

我想,这篇文章,大概可以解答大家的疑惑:

cuda和cudatoolkit

在使用 Anaconda 安装 Pytorch 深度学习框架时,可以发现 Anaconda 会自动为我们安装 cudatoolkit,如下图所示。

  

  上述安装的 cudatoolkit 与通过 Nvidia 官方提供的 CUDA Toolkit 是不一样的。具体而言,Nvidia 官方提供的 CUDA Toolkit 是一个完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。使用 Nvidia 官网提供的 CUDA Toolkit 可以安装开发 CUDA 程序所需的工具,包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。上述 CUDA Toolkit 的具体组成可参考 CUDA Toolkit Major Components.

  实际上,Nvidia 官方提供安装的 CUDA Toolkit 包含了进行 CUDA 相关程序开发的编译、调试等过程相关的所有组件。但对于 Pytorch 之类的深度学习框架而言,其在大多数需要使用 GPU 的情况中只需要使用 CUDA 的动态链接库支持程序的运行( Pytorch 本身与 CUDA 相关的部分是提前编译好的 ),就像常见的可执行程序一样,不需要重新进行编译过程,只需要其所依赖的动态链接库存在即可正常运行。故而,Anaconda 在安装 Pytorch 等会使用到 CUDA 的框架时,会自动为用户安装 cudatoolkit,其主要包含应用程序在使用 CUDA 相关的功能时所依赖的动态链接库。在安装了 cudatoolkit 后,只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,则已经编译好的 CUDA 相关的程序就可以直接运行,而不需要安装完整的 Nvidia 官方提供的 CUDA Toolkit .

  通过 Anaconda 安装的应用程序包位于安装目录下的 /pkg 文件夹中,如笔者的目录即为 /home/xxx/anaconda3/pkgs/ ,用户可以在其中查看 conda 安装的 cudatoolkit 的内容,如下图所示。可以看到 conda 安装的 cudatoolkit 中主要包含的是支持已经编译好的 CUDA 程序运行的相关的动态链接库。( Ubuntu 环境下 )

  

  在大多数情况下,上述 cudatoolkit 是可以满足 Pytorch 等框架的使用需求的。但对于一些特殊需求,如需要为 Pytorch 框架添加 CUDA 相关的拓展时( Custom C++ and CUDA Extensions ),需要对编写的 CUDA 相关的程序进行编译等操作,则需安装完整的 Nvidia 官方提供的 CUDA Toolkit.

  本文的后续内容,即对应的是当 Pytorch 等框架需要编译对应的 CUDA 相关拓展程序时,如何设置使用不同版本的 cuda toolkit( 完整的包含有编译器的安装包 )对程序进行编译,进而满足特定的 CUDA 版本依赖。

Pytorch 使用不同版本的 cuda


TensorFlow是否成功安装测试

import tensorflow as tf
tf.test.is_gpu_available()

代码不报错,并且结果输出True,一般就没有问题了


运行时发现遗留问题

2021-04-28 14:14:38.109245: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2021-04-28 14:14:40.814874: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1418] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 8102 MB memory:  -> device: 0, name: GeForce RTX 3080, pci bus id: 0000:af:00.0, compute capability: 8.6
2021-04-28 14:14:41.200352: I tensorflow/core/profiler/lib/profiler_session.cc:126] Profiler session initializing.
2021-04-28 14:14:41.200389: I tensorflow/core/profiler/lib/profiler_session.cc:141] Profiler session started.
2021-04-28 14:14:41.201296: I tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1611] Profiler found 1 GPUs
2021-04-28 14:14:41.201620: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcupti.so.11.2'; dlerror: libcupti.so.11.2: cannot open shared object file: No such file or directory
2021-04-28 14:14:41.201692: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcupti.so'; dlerror: libcupti.so: cannot open shared object file: No such file or directory
2021-04-28 14:14:41.201719: E tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1663] function cupti_interface_->Subscribe( &subscriber_, (CUpti_CallbackFunc)ApiCallback, this)failed with error CUPTI could not be loaded or symbol could not be found.
2021-04-28 14:14:41.201745: I tensorflow/core/profiler/lib/profiler_session.cc:159] Profiler session tear down.
2021-04-28 14:14:41.201763: E tensorflow/core/profiler/internal/gpu/cupti_tracer.cc:1754] function cupti_interface_->Finalize()failed with error CUPTI could not be loaded or symbol could not be found.
WARNING:tensorflow:From /home/xin/anaconda3/envs/TF/lib/python3.8/site-packages/tensorflow/python/ops/array_ops.py:5043: calling gather (from tensorflow.python.ops.array_ops) with validate_indices is deprecated and will be removed in a future version.
Instructions for updating:
The `validate_indices` argument has no effect. Indices are always validated on CPU and never validated on GPU.
2021-04-28 14:14:41.870952: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:180] None of the MLIR Optimization Passes are enabled (registered 2)

出现E的地方,让我很后怕,但是代码运行时正常且调用GPU,我就暂且留着这个隐患,后面遇到再解决吧……

深度学习TensorFlow环境配置及遗留的问题(cudatoolkit版本,TensorFlow版本)(四)相关推荐

  1. 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow

    http://f.dataguru.cn/thread-660774-1-1.html 发表于 2016-7-20 09:04 | 只看该作者 |倒序浏览 |阅读模式 深度学习主机环境配置: Ubun ...

  2. tesla p100 linux,Ubuntu16.04深度学习开发环境配置(TeslaP100+cuda9.0+tensorflow)

    Ubuntu16.04深度学习开发环境配置(TeslaP100+cuda9.0+tensorflow) 1. 显卡驱动安装 选择对应显卡型号的驱动下载 https://www.nvidia.com/D ...

  3. 全网最详细的深度学习pytorch-gpu环境配置

    学习深度学习第一步就是环境的配置,相信很多小伙伴已经被什么anaconda,tensorflow,Pytorch,cuda这些东西搞得晕头转向,今天带大家详细配置深度学习的环境,这一篇准要教书Pyto ...

  4. Ubuntu16+Docker19.03+CUDA10+Tensorflow2.0+Pyorch 多用户深度学习服务器环境配置与使用指南

    服务器只有一台,大家天天用sudo改环境最后炸了?可以采用Docker,在容器里面爱装啥装啥. 目录 深度学习服务器环境配置 安装Ubuntu Server 16.04.这一步骤网上教程很多,简略带过 ...

  5. 深度学习hf-net环境配置

    深度学习hf-net环境配置如下 1.Python 3.6,推荐用虚拟环境 2.TensorFlow 1.12 3.PyTorch 0.4.1 用于跑SuperPoint 1.安装pip sudo a ...

  6. Ubuntu18.04深度学习GPU环境配置

    Ubuntu18.04深度学习GPU环境配置 Ubuntu 18.04.cuda 9.0.cuDnn v7.TensorFlow/Keras 与anaconda 1.背景 为了加速神经网络的训练,使用 ...

  7. 《动手学深度学习》 环境配置成功经验

    <动手学深度学习> 环境配置成功经验 一.安装Anaconda3 二.安装CUDA 三.创建虚拟环境 1.创建新环境 2.激活环境 3.逐个下载emvironment.ym里的其他包 4. ...

  8. Ubuntu18.04+CUDA10.2 深度学习开发环境配置指南

    深度学习 Author:louwill Machine Learning Lab 搞深度学习环境永远是第一步.笔者之前也写过配置的两篇文章,但时间久远,目前来看版本已经过旧了.之前两篇参考: 深度学习 ...

  9. 深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080/980ti+CUDA8.0

    8月份的时候折腾tensorflow,在ubuntu上安装nvdia显卡驱动一直有问题,没有折腾好,今天看到这篇文章,起到了一定的帮助,记录一下. bing上搜索关键字,一定要搜索 ubuntu 16 ...

最新文章

  1. Matlab进行录制、存储、绘制、读取音频
  2. python爬取12306_python爬取12306的车次信息
  3. python平均数 中位数函数_R和python语言如何求平均值,中位数和众数
  4. Apache Maven 入门篇 ( 上 )
  5. C语言数据结构--线性表
  6. 2019新闻自动挂机阅读脚本
  7. CSS做3D旋转魔方(立方体)
  8. c的花体字_[转载]花体字~~漂亮~
  9. JPA学习笔记(1)——什么是JPA
  10. PHP - 经典面试题大全,看这一篇就够了
  11. ★如何引导客户需求?几个经典的案例分析!
  12. out of synch 不同步是什么意思?
  13. kafka 修改分区_kafka的分区数设置
  14. Windows驱动的彻底删除
  15. mysql数据库应用经典案例_MySQL数据库“十宗罪”(十大经典错误案例)
  16. 实现在 .net 中使用 HttpClient 下载文件时显示进度
  17. 你好,世界:第一个Java程序(《Java与Python学习通法》)
  18. 技术人才的核心竞争力有哪些?
  19. 爬爬爬!使用scrapy爬取你懂得的网站自建数据库!
  20. docker cuda的devel和runtime包

热门文章

  1. CAD手机看图软件中多线段编辑详解
  2. 揭秘百家号提示视频重复,最新去视频重复解决方法 新媒体视频去重复,批量处理去重消重去水印去log...
  3. matlab分支与循环求函数,Matlab变量、分支语句和循环语句
  4. AndroidStudio 配置NDK
  5. c语言音标字符,c语言常见英语单词带音标-20210408030123.docx-原创力文档
  6. (3)Map 转为对象
  7. EasyNVR开启录像后,录像回看无数据的原因分析及解决办法
  8. 苹果在中国市场逆袭中国手机,市场份额增幅居于第一名!
  9. iCloud的使用方法
  10. 叹:::::再强大的影视神作也会有人诋毁