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

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

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

正文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号卡上跑了

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

结束啦 ~

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

  • 87
    点赞
  • 596
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip深度学习实验项目-基于insightface的视频演员识别python代码.zip 【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
【vn.py】CTP首次登陆修改密码 之 接口调用法 c++量化 阅读约 7 分钟 编辑 背景 最近一直在玩vn.py,上一篇文章vn.py开发环境搭建(windows)介绍了如何搭建二次开发环境,解决了一些搭建环境过程中遇到的坑。那么接下来这篇文章将解决运行期间的第一个问题。 开始vn.py 1.环境部署完成之后,启动examples/vn_trader/run.py,弹出启动页面。具体搭建过程参考vn.py开发环境搭建(windows)。 image.png 2。连接CTP,点击系统->连接CTP,弹出连接界面。 image.png 3.介绍一下个字段 用户名:在simnow注册的用户名6位数字 密码:登录simnow使用的密码 经纪商代码:9999 交易服务器地址:180.168.146.187:10101 行情服务器地址:180.168.146.187:10111 产品名称:simnow_client_test 授权码:0000000000000000 16个0 4.获取你的用户名和密码 登录http://www.simnow.com.cn/,从右上角的注册账号开始操作,这里就不讲了,大家自己鼓捣吧。 问题来了 所有准备工作做好后,点击连接,这时左下角会显示日志。 image.png 如果你是第一次登陆,那么会提示CTP首次登陆需要修改密码,这也就是我们今天要解决的问题 试图解决 刚看到这个问题觉得没什么,修改一下密码就可以了,但是。。。。。 首先没有再vn.py上找到可以修改密码的地方,后来想了想,也正常人家只是策略平台,也不仅仅是给CTP用, 所以去注册的地方simnow官网找找吧,但是。。。。 很遗憾仍然没有找到,这里不得不吐槽一下simnow了。是不是应该给个改密码的地方? 据说可以使用市场上的交易应用修改密码,大家可以去试试。或者大家有更好的方法也可以回复留言。 开始撸它 好吧,那么我们用程序员的方式来解决这个问题吧。 1.在vnpy/api/ctp目录下可以看到完整ctp开发的api,包括库和头文件。哈哈,是不是会让你产生非分之想? 2.我们在ThostFtdcTraderApi.h中发现了我们想要的东西 ///用户口令更新请求 virtual int ReqUserPasswordUpdate(CThostFtdcUserPasswordUpdateField *pUserPasswordUpdate, int nRequestID) = 0; 3.找到ctp api文档在simnow官网上可以找到,我这里用的事《综合交易平台TraderAPI接口说明.pdf》 4.开始撸代码吧,我显示在linux开始撸,后来发现我的操作系统编译器版本太低,当然升级版本应该可以解决,但升级gcc,glibc还是相当耗时的。所以后来移植到了windows,但工程还是linux风格,使用cmake构建,好在现在vs对cmake支持的不错。 5.继续撸,先贴一段吧 #include "ctp_trade_handler.h" #include "INIReader.h" #include int main(int argc, char* argv[]) { string a; INIReader reader("../conf/ctp.ini"); if (reader.ParseError() != 0) { std::cout << "Can't load 'test.ini'\n"; return 1; } std::cout << reader.GetInteger("user","BrokerID",9999) << endl; ctp_trade_handle ctp; ctp.CreateFtdcTraderApi(); ctp.RegisterFront("tcp://180.168.146.187:10100"); ctp.init(); //CThostFtdcReqAuthenticateField reqAuthenticate = { 0 }; //strcpy(reqAuthenticate.AppID, "simnow_client_test"); //strcpy(reqAuthenticate.UserID, "158477"); //strcpy(reqAuthenticate.AuthCode, "0000000000000000"); //strcpy(reqAuthenticate.BrokerID, "9999"); //ctp.ReqAuthenticate(&reqAuthenticate, 1); CThostFtdcReqUserLoginField reqUserLogin = { 0 }; strcpy(reqUserLogin.BrokerID,"9999"); strcpy(reqUserLogin.UserID,"158477"); strcpy(reqUserLogin.Password,"qwe123"); ctp.ReqUserLogin(&reqUserLogin, 1); std::cout <> a; CThostFtdcUserPasswordUpdateField reqUserPasswordUpdate = { 0 }; strcpy(reqUserPasswordUpdate.BrokerID, "9999"); strcpy(reqUserPasswordUpdate.UserID, "158477"); strcpy(reqUserPasswordUpdate.OldPassword, "qwe123"); strcpy(reqUserPasswordUpdate.NewPassword, a.c_str()); ctp.ReqUserPasswordUpdate(&reqUserPasswordUpdate, 3); std::cin >> a; ctp.exit(); return 0; } 代码很简单,这里就不多说了。目前只是为了解决我修改密码的需求,后续还会不断完善。 如有需要可以自己取来撸,代码托管地址:https://github.com/FrankXMX/c... 欢迎watch和star 5.使用上就是填写好你的相关信息,编译运行,输入新密码。得到屏幕输出。 6.回到vn.py,使用新密码重新连接ctp。 大功告成!!!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值