研一小白记录第一次在实验室服务器上跑深度学习的代码全过程(实验室服务器上跑代码详细全过程哦)

news2024/11/25 13:31:37

你在服务器上跑过代码吗?哇~你跑过!是啥样的...每回见别人跑都会问并且羡慕会在大服务器上跑代码的哈哈哈在研究生刚开学前还甚至不知道什么是服务器,更是无法想象在除了自己能看得见摸得着的电脑屏幕之外跑代码的样子。直到有天开会自己坐在了一个大大的“黑箱子”旁边才知道这就是所谓的实验室服务器哇,这不就是加大版的台式电脑的主机嘛~

在犹豫和观摩了好久之后终于决定自己在实验室服务器上跑一次代码,因为自己是完全没有概念,所以搜了很多很多,有时候一口气打开二三十个搜索框才找到自己想要的答案,但是也很零散,所以决定记录一个自己从申请服务器账号到代码成功跑起来的全过程,见证成长同时希望帮助到你!

正文ing

首先,找有服务器账号创建权限的师哥师姐给自己申请一个账号,根据这个账号,输入服务器地址,就可以连接上实验室服务器啦

要下载一个软件,叫MobaXterm,在这个软件上可以连接到服务器,通过指令操作服务器。

下载地址:MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download。这就相当于一个连接器,连接上后这个页面可以可视化输入输出实验室服务器上的东西 。                                  

连接熟练后,如果还是连接之前的服务器就可以从左侧记录栏里面直接点击链接上就好啦。

连接成功后,左侧就可以看到服务器上的文件夹啦,有可视化文件夹窗口,可以直接在窗口工具栏查看上下级文件夹目录、新建文件夹、删除文件夹等; 右侧就是linux命令输入框啦,其实就相当于Pycharm中的terminal终端命令输入窗口。

好了~以上就是对于实验室服务器的一个初步了解啦,其实就是把Pycharm的命令输入端换成服务器上的,从而操作服务器,利用服务器上的CPU、GPU资源 

接着,开始配置可以跑代码的环境,其实这个配置环境和自己在电脑上跑代码配置环境的意思一模一样,就是把在电脑上配置环境做的那些工作再在服务器上做一遍,到这你是不是就明白了,其实真的就是我们的电脑性能不好,所以给他嫁接一个性能好的东西,然后跑我们的代码,所有操作都是一样的。 

连接上实验室服务器后,可以看看是不是服务器上有预装好的Anaconda3环境,这样就不用自己再装了,直接初始化来用就好啦(如果找不到有Anaconda3的文件夹,直接看自己linux命令输入那里的用户名前面有没有"(base)"就可以了) 

 如果有,直接使用以下两句代码初始化python环境使用就可以

/opt/anaconda3/bin/conda init bash

source ~/.bashrc

 如果没有,就需要自己去先配置Anaconda环境了,不过很好下载,只需要几行Linux命令(我在另一个服务器上就是自己配置的)此处只附上连接,博主写的很好,可以参考安装Anaconda和创建并激活conda虚拟环境:科研第一步:实现Linux服务器上创建python虚拟环境_无枒的博客-CSDN博客 

此时,已经可以使用以下代码创建虚拟conda环境了(一般都是在自己创建的新的虚拟环境中改动,不要搞坏了系统上的~)

conda create -n 虚拟环境名 python=3.7

查看创建好的已有的conda环境

conda info -e

根据查询结果可以看到创建好的虚拟环境名和虚拟环境路径

虚拟环境默认路径都是在用户名下,为了大家都在实验室服务器上使用时的私密性,也就是都自动安装下载配置到/home/username下面,但是往往因为个人空间不足而不能占用太多/home下面的空间,此时可以更改路径到充足的文件夹下面。(经过我不停查找占用空间的文件夹,发现是虚拟环境所在文件夹和cache缓存文件夹,所以改个路径到空间大的地方)linux环境下conda更改pkg和env缓存路径_正丶好的博客-CSDN博客

改完路径后,再创建虚拟环境时就会发现路径到了你想要他到的地方,终于不在/home下面啦哈哈哈,试过别的办法,也可以指定下载路径,代码如下(但是创建出来的虚拟环境很麻烦,没有名字只有路径,可能因为中间的什么路径不匹配?我也不太懂,反正删除也麻烦,怎么都麻烦,所以干脆一步到位,把默认路径改了) 

conda create --prefix=H:\Program file(x86)\envs python=3.7 #设置虚拟环境路径

这个时候,所有必备的环境就已经准备完成,可以新建各种包或者导入项目了,我建议先导入项目,直接运行,肯定会报错,缺乏各种包,到时候就知道缺什么了,缺什么就下载什么

关于将自己的项目导入到服务器上 :从pycharm上开始设置:Tools->Deployment->Configuration;

Tools->Deployment->UpLoad;File->Settings->Python InterpreterPycharm 实现本地与服务器代码同步_USTC_SC的博客-CSDN博客_pycharm如何和服务器保持一致

此时项目已经可以在服务器的文件夹视图窗口下拉里面看到了,并且Pycharm中也可以看到左右对应,左侧为本地文件夹,最右侧Remote host为服务器文件夹视图,更改本地代码,服务器代码也会自动更改 

此时,如果环境路径设置正确,也就相当于pycharm和服务器环境接头好了, 就可以在pycharm中运行了;或者,直接在服务器里面运行

cd /icislab/volume1/yhl/projects/unet #先切换到.py文件目录下
python3 main.py #运行文件即可

不出意外,肯定会报错哈哈,因为很多包都没有安装。按照提示安装就好了

pip install 包名

普通安装可能太慢会安装不上,使用清华镜像

# 依次输入以下命令
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

如果使用镜像还是很慢,可能会任务运行超时(ReadTimeoutError)

pip install --default-timeout=1000 要下载的第三方库名

(tips:如果你也需要torch包,直接下载torch太慢了并且太大了,老是出现问题,所以我直接下载torchvision,默认下载torch版本,这样很快,但是引用前提是对于torch版本没有自己的要求) 

此时,除了自己的代码有bug外,环境上面还有安装包上面应该是没有问题了,可以运行咯哈哈哈

下面是一些小便利贴哈哈 

 有没有发现我没说怎么选择在服务器哪一块卡上面跑?怎么决定?怎么选?

nvidia-smi #查看所有卡使用状态

 看看哪个空间剩余多就选择哪块卡号,在运行的代码文件上方指定

 此时,如果1号卡上面有位置,代码就会顺利的在1号卡上跑了

如果遇到这种报错情况,那就是卡满了,等等或者选择另外的卡就好啦

结束啦 ~

至此,我这个小可爱第一次跑代码全程就结束啦!一个简单的代码从申请服务器账号开始到成功跑起来用了四天,这其中遇到各种错误麻烦远不止我贴出来的这些,每个博主大佬都是详细叙述了每一部分,但是没有发现哪个是我想要的那种从头到尾理一遍,所以自己干脆趁着思路还清晰写下来,希望能帮助到大家呀!第一次发博客,有很多不懂的地方,很多名词可能是自己形容的,有不对的欢迎批评指正!有的大佬写的很好,我是直接挂的链接,也不太懂,有侵权的滴滴我呀,看见马上删除改正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

热腾腾的大厂面试总结,想进大厂的必看!

00.前人种树 历经无数大厂面试后,辛苦总结的肺腑之言,内容非常适合实战。在此致谢这位用心的学员,给后来者提供了宝贵经验。 01、明确自己的目标 1,疏理目前自己的整体能力。 2,确定自己的期望薪资。 3&#xff…

MPP产品介绍-定位-应用场景-技术特点

产品定位 FusionInsight LibrA是企业级的大规模并行处理关系型数据库。FusionInsight LibrA采用MPP(Massive Parallel Processing)架构,支持行存储与列存储,提供PB(Petabyte,2的50次方字节)级别数据量的处理能力。 FusionInsight LibrA在核…

启动IP-GUARD加密后,浏览器崩溃解决方案

在定制策略里添加: 制配置添加:hookapi_filterinj_externalmsedge.exe;chrome.exe、hookapi_disinj_tsdmsedge.exe;chrome.exe、关键字hookapi_dynaddcmd 内容procmsedgewebview2.exe|cmd--disable-featuresRendererCodeIntegrity,msUseSpellCheckCorre…

DELTA TAU ACC-24E2A 如何开始学习机器人技术

DELTA TAU ACC-24E2A 如何开始学习机器人技术 如果你想成为机器人革命的一部分(彻底改变我们的生活和工作方式,而不是真正推翻人类),Simplilearn有你需要的东西。这人工智能和机器学习训练营与IBM和加州理工学院合作,涵盖了与机器人相关的重…

基于LSTM-Adaboost的电力负荷预测(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

UWB和RFID结合使用-最大限度地提高资产跟踪效率

随着未来工厂和工业 4.0 创新部署在全球范围内蓬勃发展,实时定位系统 RTLS越来越被认为是制造过程中最具生产力、成本效益、影响力和破坏性最小的附加系统之一。 考虑到这一点,许多公司现在面临着决定哪种 RTLS 技术最适合他们的需求。有多种 RTLS 解决…

uniapp-vue3-微信小程序-按钮组wo-btn-group

采用uniapp-vue3实现, 是一款支持高度自定义的按钮组组件&#xff0c;支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id15012 使用示例 <template><vie…

pythons实现protobuf序列化与反序列化

系列文章目录 训练地址&#xff1a;https://www.qiulianmao.com 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集tiktok protobuf序列化与反序列化实战一&#xff1a;Http轮询更新中 websocket逆向-…

给课题组师弟师妹的开荒手册(终篇)

0 写在前面 终于&#xff0c;在结束收尾工作后敲下了开荒手册的终篇&#xff0c;自己三年研究生生活过的离理想中的完美还差很多&#xff0c;不过胜在完整&#xff0c;哈哈&#xff0c;小满胜万全嘛。希望以自己不太完美的经历为例&#xff0c;抛我的砖&#xff0c;引师弟师妹…

Switch模拟器-Ryujinx(龙神模拟器)安装教程

Ryujinx是由gdkchan带领团队运用C#语言创建并发布在GitHub平台的Switch开源模拟器. 系 统 要 求 内存8 GB RAM及以上 显卡支持Vulkan、OpenGL版本4.5及以上 64位系统 Windows 10 RS4&#xff08;Redstone 4&#xff0c;版本 1803&#xff09;或更高版本 软 件 教 程 第一…

数据结构详细笔记——栈与队列

文章目录 栈的三要素逻辑结构&#xff08;定义&#xff09;数据的运算&#xff08;基本操作&#xff09;存储结构&#xff08;物理结构&#xff09;顺序栈&#xff08;顺序存储&#xff09;链栈&#xff08;链式存储&#xff09; 队列的三要素逻辑结构&#xff08;定义&#xf…

实现更低功耗R5F51406BDNE、R5F51406ADFK、R5F51406ADFL、R5F51406AGFN搭载RXv2内核的32位微控制器

一、简介 RX140产品群是RX100系列中处理性能最强、功耗最低的微控制器。可以广泛应用于家用电器、工业控制和楼宇自动化等领域。RX140采用RXv2内核&#xff0c;工作频率最高48MHz&#xff0c;处理性能是32MHz运行的RX130的近两倍。此外&#xff0c;它在运行时的电路为56μA/MH…

03、RocketMQ环境搭建 -- linux

目录 RocketMQ环境搭建linux部署RocketMQ启动NameServer启动Broker关闭nameserver:关闭broker 监控平台 RocketMQ环境搭建 linux部署RocketMQ http://rocketmq.apache.org/release_notes/release-notes-4.4.0/ 下载包 解压失败 安装 zip、unzip应用 yum install zip unzip …

华为再度发声!坚决打好坚实的算力底座,为实现全智能新突破打好基础!

原创 | 文 BFT机器人 10月13号&#xff0c;在2023年中国移动全球合作伙伴大会上&#xff0c;华为轮值董事长胡厚崑发表讲话&#xff0c;在会议上胡厚崑发表“共建智算底座&#xff1a;坚持架构创新&#xff0c;汇聚生态力量&#xff0c;使能‘百模千态’大模型”观点&#xff…

Mac OS m1 下安装Gradle5.1

1. 下载、解压 1.1 下载地址 https://gradle.org 往下翻 选择 5.1 或者选择 任何 你想要的版本 ,点击 binary-only 即可下载 . 1.2 解压到指定目录 2. 配置环境变量 2.1 编辑环境文件 vi ~/.bash_profile #GRADLE相关配置 GRADLE_HOME/Users/zxj/Documents/devSoft/grad…

医院陪诊小程序:改善患者体验的技术创新

在数字化时代&#xff0c;医疗领域也迎来了革命性的变革。医院陪诊小程序作为这场变革的一部分&#xff0c;为患者和家属提供了前所未有的便捷和支持。这篇文章将探讨医院陪诊小程序的技术实现&#xff0c;以及如何使用代码来创建一个基本的医院陪诊小程序。 什么是医院陪诊小…

Archive Team: The Twitter Stream Grab

该集合不再更新&#xff0c;应被视为静态数据集。 从一般 Twitter 流中抓取的 JSON 的简单集合&#xff0c;用于研究、历史、测试和记忆的目的。这是“Spritzer”版本&#xff0c;最轻、最浅的 Twitter 抓取。不幸的是&#xff0c;我们目前无法访问流的洒水器或花园软管版本。 …

封装的方法固定的参数,特殊环境下需要多带参数

组件封装的时候某些方法回传出去某些参数&#xff0c;但是特殊条件下需要将其他参数也一并带入方法中使用 比如图片中的方法就可以实现不影响自带的参数&#xff0c;也不影响我们需要多带的参数

QQ大文件如何传输?分享最简单的方法!

QQ作为一个常用的交流工具&#xff0c;我们常常需要通过QQ发送一些大文件&#xff0c;但是文件太大在传输的过程中可能会导致无法发送或被退回。这个时候就需要借助一些文件压缩工具&#xff0c;先把文件瘦身再进行发送&#xff0c;下面是常用的三种方法。 一、QQ邮箱 直接使用…

composer selfupdate或composer self-update不管用解决办法

报错信息&#xff1a;这里可以看见我进行了composer self-update不管用&#xff0c;版本还是停留在1.10.27 解决办法&#xff1a; composer self-update --2