ubuntu18.04源码编译pytorch

2023-11-03

上篇文章win10安装pytorch只是安装好了库,但是并不能追踪到pytorch源代码。windows平台下的源码编译太过麻烦,linux系统笔者是安装在虚拟机中,并不能调用宿主机的CUDA和CUDNN,但是还是编译一下CPU版的pytorch。

一、安装anaconda

使用清华镜像下载Anaconda3-2019.10-Linux-x86_64.sh,之后在下载目录运行,根据提示安装,默认会初始化一个base的虚拟环境。

bash Anaconda3-2019.10-Linux-x86_64.sh

这里顺便学习一下conda相关命令

conda create -n pytorch    #创建名为pytorch的虚拟环境
conda create -n pytorch python=3.7   #创建名为pytorch的虚拟环境,并指定python的版本
conda env create -f environment.yaml #从文件中创建虚拟环境
conda activate pytorch    #激活pytorch虚拟环境
conda deactivate    #从当前虚拟环境中退出
conda info -e    #显示所有当前的虚拟环境
conda list    #显示当前虚拟环境的安装包
conda remove --name pytorch --all    #删除pytorch虚拟环境
conda install numpy    #安装numpy

为了更快的利用conda下载软件,考虑更改conda的下载源,在home目录下新建隐藏文件.condarc,在.condarc中填写

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

二、安装pytorch

首先安装依赖

conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi

 下载代码,并更新仓库,这里更新的很慢,我用了之前在公司更新好的版本

git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive

在setup.py中设置USE_CUDA=0

export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}
python setup.py clean
python setup.py install

三、安装cuda和cudnn

3.1安装cuda

cuda下载地址

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

3.2安装cudnn

cudnn下载地址

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu18.04源码编译pytorch 的相关文章

随机推荐

  • Qt中如何执行HTTPS请求

    在Qt中 可以使用QNetworkAccessManager和QNetworkRequest来执行HTTPS请求 以下是一个基本的HTTPS GET请求示例代码 include
  • 链表面试题-合并两个有序单链表(递归和非递归)

    题目描述 合并两个有序单链表 使得最终的链表也是递增的 节点的结构 typedef struct ListNode ListNode next int data Node 递归 Node MergeListR Node Head1 Node
  • Windows 电脑如何查看端口号被哪个程序占用、查杀进程

    Windows 电脑查杀进程的方 netstat ano findstr 9999 taskkill f t im 25146 进入windows命令窗口之后 输入命令netstat ano然后回车 就可以看到当前启动应用的所有的端口使用列
  • Linux sudo免密设置

    1 root用户下执行sudo vi etc sudoers d superadmin 免密用户 2 vi编辑superadmin 免密用户 ALL ALL NOPASSWD ALL 3 保存退出 这样superadmin用户使用sudo
  • ajax实现向购物车添加,jQuery添加到购物车的互动

    插件描述 当用户决定购买某件物品的浮动购物车交互效果 添加到购物车 的过程 我们习惯于不同的模式 这种模式背后的基本思想是以通知用户 项目已添加到购物车 并为他 她提供一个链接来结帐 我们已经尝试过使用默认情况下 隐藏购物车和显示它当用户单
  • 一文玩转 Java 日志数据脱敏

    许多系统为了安全需要对敏感信息 如手机号 邮箱 姓名 身份证号 密码 卡号 住址等 的日志打印要求脱敏后才能输出 本文将结合个人经历及总结分享一种log4j日志脱敏方式 自定义Layout import org apache logging
  • 在vue中使用webpack打包

    1 安装webpack npm install vue 2 vue loader 15 vue template compiler 2 save dev 2 在项目中创建webpack config js 配置 const path req
  • 如何考虑BLL层和DAL层的日志

    DAL层日志 DAL层与数据库交互 日志记录的目的是 1 发生异常时通过日志查找原始信息 便于快速定位原因 2 对于一些复杂的事务可以通过对日志的分析来发现错误的具体位置 BLL层日志 BLL层与UI交互 虽然UI已经对用户输入进行了一些过
  • 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net

    列名 Class 无效 说明 执行当前 Web 请求期间 出现未处理的异常 请检查堆栈跟踪信息 以了解有关该错误以及代码中导致错误的出处的详细信息 异常详细信息 System Data SqlClient SqlException 列名 C
  • 中小企业如何做好MES管理系统实施建设

    中小企业在生产制造领域面临着诸多挑战 包括提升产品竞争力 规范生产制造等 为了应对这些挑战 越来越多的中小企业开始实施MES生产管理系统 然而 由于企业规模小 资源实力不足等原因 很多企业在实施MES管理系统时存在一定的困难 本文将从认知误
  • Linux for Ubuntu Intellij Idea 免費激活

    注冊碼與方法請點擊這裏 更改hosts方法 sudo gedit etc hosts
  • 【Git基础入门】Git工具的日常基本使用

    Git基础入门 Git工具的日常基本使用 一 git介绍 二 git的四个区域 2 git四个区域名称 2 2 git四个区域工作关系 三 git工作的三种场景 1 场景1 本地目录有代码 2 场景2 本地目录无代码 3 场景3 直接git
  • 设备发现协议SSDP实现

    原理 1 将socket加入239 255 255 250 端口 1900 2 客户端 通过设置setsockopt IPPROTO IP IP ADD MEMBERSHIP属性 可向ssdp组进行组播 3 服务端 通过设置绑定239 25
  • 谷歌&北大扩散模型(Diffusion Model)首篇综述来了!

    本综述 Diffusion Models A Comprehensive Survey of Methods and Applications 来自加州大学 Google Research的Ming Hsuan Yang 北京大学崔斌实验室
  • 透析极大极小搜索算法和α-β剪枝算法(有案例和完整代码)

    文章目录 前言 minimax算法 完整代码 算法思想 代码实现 算法优化 剪枝算法 完整代码 算法思想 代码实现 算法对比 更多案例 结语 前言 先做了一版五子棋的小项目 后面又做了一个功能更强大的中国象棋的项目 但是始终都没有实现一版
  • Java+Aspose.diagram,导出数据到Visio

    背景 java 家谱图导出 主要包括家庭成员图片以及有关系进行连线 项目环境请参考 https download csdn net download weixin 49456013 20085264 或者是参考我关于Aspose相关的文章
  • 使用Eclipse与Pydev开发Python

    http loosky net 1152 html Python的编辑器很多 具体可见 http wiki python org moin PythonEditors 官方的IDLE PythonWin和Eclipse Pydev 是比较值
  • 服务器性能网络指标,什么是网络性能指标 网络性能指标有哪些

    什么是网络性能指标 网络性能指标有哪些 这些一定要考虑的 一 什么是网络性能指标 网络性能指标 是衡量网络性能的指标 包括带宽 时延 带宽时延积 二 网络性能指标有哪些 端到端的网络性能指标包括传输线路指标 网络时延指标和网络设备指标 1
  • 鲸鱼优化算法——使用Python实现

    鲸鱼优化算法 使用Python实现 鲸鱼优化算法是一种新兴的优化算法 它受到鲸鱼集群捕猎行为的启发 该算法具有全局搜索能力和收敛速度快等优点 在多个领域中得到了广泛应用 本文将介绍使用Python实现鲸鱼优化算法 并提供源代码 鲸鱼优化算法
  • ubuntu18.04源码编译pytorch

    上篇文章win10安装pytorch只是安装好了库 但是并不能追踪到pytorch源代码 windows平台下的源码编译太过麻烦 linux系统笔者是安装在虚拟机中 并不能调用宿主机的CUDA和CUDNN 但是还是编译一下CPU版的pyto