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

【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成功训练(二)

配置torch环境

pip升级

因为一些包安装不成功可能和pip版本有关,所以先升级pip
吸取之前python有多个版本的经验,所以我指定了Python版本的pip进行升级
就是python3.8版本:
/home/某某/Python3.8/bin/python3.8
(要换成你实际的python位置)

/home/某某/Python3.8/bin/python3.8 -m pip install --upgrade pip

torch的基本环境配置

这个地方一定要注意!!!别问我是怎么注意到的!!!问就是踩过坑!!!!
安装之前一定要查一下你服务器(实验室的服务器)上的cuda版本,一般在/usr/bin/下面有管理员已经装好的cuda,直接链接用就行,在bashrc文件设置CUDA$HOME就行。
环境配置放文章最后。
找到cuda版本之后看下面pytorch版本链接里找到你对应的版本,对于版本千万别掉以轻心,相信我,不兼容的版本会让你崩溃。。
Pytorch版本链接

/home/某某/Python3.8/bin/python3.8 -m pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html

安装完之后,验证一下输入python
然后在终端输入这一堆

import torch
print(torch.cuda.is_available())
print(torch.backends.cudnn.is_available())
print(torch.cuda_version)
print(torch.backends.cudnn.version())

不过注意一点:

>>> print(torch.cuda_version)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'torch' has no attribute 'cuda_version'

虽然显示没有cuda_version但我确实可以用cuda,应该是这个语句的问题,换个语句就可以(等我找到就补充。。。)

torch_sparse

查看版本链接

wget https://pytorch-geometric.com/whl/torch-1.10.1+cu102.html/torch_sparse-0.6.2+cu102-cp38-cp38-linux_x86_64.whl

下载不了就在上面的链接里下载whl到本地,然后传到服务器上的文件夹再接着执行下面的安装就好,一定要找对版本!!!(cp后面的是python版本,cu后面是cuda版本,根据上面的torch版本,一定要兼容,我服务器是ubuntu18.04)
在这里插入图片描述

/home/某某/Python3.8/bin/python3.8 -m pip install torch_sparse-0.6.2-cp38-cp38-linux_x86_64.whl

torch_scatter

查看版本链接

跟上面torch_sparse一样操作,我是下载whl到服务器上,然后直接安装的

/home/某某/Python3.8/bin/python3.8 -m pip install torch_scatter-2.0.9-cp38-cp38-linux_x86_64.whl

没有_ctypes

原因是缺libffi
后来是没有libffi.so.7
服务器上只有libffi.so.6
我于是在自己的文件夹/home/某某/local下安装

wget ftp://sourceware.org/pub/libffi/libffi-3.3.tar.gz
tar -xzf libffi-3.3.tar.gz
cd libffi-3.3
./configure --prefix=/home/某某/local
make
make install

bashrc环境变量

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/home/某某/local/lib:/home/某某/Python3.8/lib:$LD_LIBRARY_PATH
export PATH=$CUDA_HOME/bin:/home/某某/Python3.8/bin:$PATH
export C_INCLUDE_PATH=/home/某某/local/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/home/某某/local/include:$CPLUS_INCLUDE_PATH
export LD_PRELOAD=/home/某某/local/lib/libffi.so.7.1.0
alias python='/home/某某/Python3.8/bin/python3.8'

总结下来出现这些问题的原因:
1、版本不兼容
2、环境变量没配置
3、配置文件没有链接上

其实想想也是,之前操作系统和编译原理学的也就是这些东西,其实原理早就告诉过,这些bug改起来也没有想象中这么难,计算机总是会告诉你它问题出现在哪儿的,找下去就是了!

记录一下,之前每次遇见就是不记录,每次重来都犯同样的错。


http://www.kler.cn/a/373239.html

相关文章:

  • 「C/C++」C++标准库之#include<fstream>文件流
  • Linux中Samba服务配置和管理
  • 【简道云 -注册/登录安全分析报告】
  • QT项目-仿QQ聊天(带宠物系统)
  • 机器人转人工时,开启实时质检(mod_cti基于FreeSWITCH)
  • 微服务之间调用,OpenFeign传递用户(RequestInterceptor接口)
  • SpringBoot利用InitializingBean实现策略模式
  • 一:Linux学习笔记(第一阶段)-- 安装软件 vmware workstation 虚拟机软件 centos系统
  • XQT_UI 组件|01|颜色
  • Vue.js 构建可复用的组件
  • 小型语言模型(LLM)综述!
  • TVB被嘲讽工资低,张兆辉得体且高情商的回应,赢得网友赞赏
  • 【JIT/极态云】技术文档--发起申请
  • Chrome DevTools:Console Performance 汇总篇
  • LabVIEW涡扇发动机加力泵测试
  • 知难而进:什么是Web开发——关于软件开发你需要知道些什么
  • AIGC时代的数据盛宴:R语言引领数据分析新风尚
  • C++算法第五天
  • 无人机产校融合,突破理论与实战代沟,快速转化市场价值
  • php解密,sg11解密-sg15解密 如何由sourceGuardian11-sourceGuardian15加密(sg11加密~sg15加密)的源码
  • Flutter主题切换
  • Apache Linkis:重新定义计算中间件
  • 事务的四大隔离级别、数据库中的共享锁与排他锁、MySQL 的行级锁与表级锁
  • C++虚函数(详解)
  • 无人机避障——路径规划篇(一) JPS跳点搜索算法A*算法对比
  • React四官方文档总结一UI与交互