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

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

时间:2024-10-27 23:19:42浏览次数:9  
标签:bin 某某 python torch cuda 版本 home Ubuntu18.04

配置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改起来也没有想象中这么难,计算机总是会告诉你它问题出现在哪儿的,找下去就是了!

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

标签:bin,某某,python,torch,cuda,版本,home,Ubuntu18.04
From: https://blog.csdn.net/weixin_50512050/article/details/143276228

相关文章

  • Python实现摇号系统
    1.引言摇号系统在现代社会中有广泛的应用,特别是在车牌摇号、房屋摇号等公共资源分配领域。摇号系统的主要目的是通过随机分配的方式,确保资源的公平、公正分配。本文将详细介绍如何使用Python实现一个简单的摇号系统,包括系统的准备工作、基础理论知识、详细步骤、常见问题解答以及......
  • python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)
    文章目录1、任务目标2、网页分析3、代码编写1、任务目标目标网站:B站视频(https://www.bilibili.com/video/BV1se41117WP/?vd_source=e8e376ccbc5aa4cfd88e6a7917adfd1a),用于本文测验要求:抓取该网址下的视频,将其存入本地,如下:2、网页分析在分析网页前,我们需要明白......
  • python数学建模习题六
    学号后四位3026,1班6.1importnetworkxasnximportmatplotlib.pyplotaspltL1=[(1,2),(1,3),(1,4),(2,3),(2,6),(3,4),(4,5),(5,6)]G1=nx.Graph();G1.add_nodes_from(range(1,7))G1.add_edges_from(L1);posl=nx.shell_layout(G1)plt.subplot(131......
  • 基于pytorch搭建CNN
    先上代码importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorch.nn.functionalasFfromtorchvisionimportdatasets,transformsimportmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdimportmatplotlibmatplotlib.use('......
  • Python 函数的返回值定义语法
    什么是函数返回值?函数在执行完成后,返回给调用者的结果返回值的应用语法:使用关键字:return来返回结果def函数(参数...):函数体return返回值变量=函数(参数)注意:函数体在遇到return后就结束了,所以写在return后的代码不会执行练习:#定义一个函数,完成两......
  • python可以对excel进行那些操作
    根据标题“Python可以对Excel进行哪些操作”,Python对Excel的操作能力强大,涵盖数据读写、格式设置、图表创建、数据分析和自动化处理等功能。例如,1、读取和写入数据:Python可以读取Excel文件中的数据,并将数据写入到Excel中;2、格式设置:Python能够调整字体、颜色、单元格的大小和排列;3......
  • 中值滤波python代码
    文章目录一、中值滤波二、代码实现一、中值滤波中值滤波使用了局部邻域(窗口)里的中值来代替上述局部平均法中的局部平均值。即将以该点为中心的某个窗口框住的各像素的中间值作为处理后图象中该点像素的值。能有效处理椒盐噪声。二、代码实现下图代码实现了中值滤波对......
  • 100种算法【Python版】第14篇——Pollard‘s Rho 质因数分解算法
    本文目录1基本原理2算法步骤3数学示例4python代码1基本原理Pollard’sRho算法是由约翰·波拉德(JohnPollard)于1975年提出的一种用于整数因数分解的概率算法。它以高效性和实现简洁著称。核心原理伪随机序列生成:利用一个简单的迭代函数生成一个伪随机......
  • python系列【亲测有效-只到了图形化连接桌面】:Python 调用windows系统远程桌面应用
    Python调用windows系统远程桌面应用Python调用windows系统远程桌面应用使用pyautogui模块实现远程桌面应用的调用总结参考链接Python调用windows系统远程桌面应用远程桌面应用是一种方便用户在远程设备上访问和控制本地桌面的技术,对于远程办公、远程......
  • 机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
    1.基础算法常见面试篇1.1过拟合和欠拟合常见面试篇一、过拟合和欠拟合是什么?二、过拟合/高方差(overfiting/highvariance)篇2.1过拟合是什么及检验方法?2.2导致过拟合的原因是什么?2.3过拟合的解决方法是什么?三、欠拟合/高偏差(underfiting/highbias)篇3.......