The path of studying 1

这篇具有很好参考价值的文章主要介绍了The path of studying 1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

小知识点总结

其他问题

1.一个关于c盘固执的问题 

2.一个关于pytorch安装的固执问题

3.关于服务器结束程序进程

4.关于python中的glob

5.关于分布式训练的问题

遇到的奇葩问题


小知识点总结

1.python find()  # 返回的是字符串中需要寻找的字符的位置

python find()  # 返回的是字符串中需要寻找的字符的位置

2.python 读取npy文件——np.load(name.npy)

np.save("a.npy", a)  

c = np.load( "a.npy" )

3.F.softmax(x, dim=0 or 1)——归一化,进行行列的归一化,dim=0,列和为1;dim=1,行和为1

4.x.flip(dims=(0,1...)——对x进行反转,dims=多少,便对哪一维进行反转

5.x.argmax() 返回某一维度的行列的最大行标或者列标。

6 python numpy array 数组维度转换(转维)

array_01 = np.arange(24)
# 输出:array_01是一个一维数组,数组元素24个
 
# reshape(n1,n2,...,ni)将数组转换成特定维度
# n1*n2*...*ni = 转换前数组元素的总数
array_02 = array_01.reshape(3, 2, 4)
 
# ravel将多维数组转换为一维
array_03 = array_02.ravel()
# 输出:array_03是一个一维数组,数组元素24个
 
# flatten,与ravel相同,区别在是否拷贝
array_04 = array_02.flatten()
# 输出:array_04是一个一维数组,数组元素24个
 
# transpose转换坐标系,transpose(1, 2, 0)括号里的值表示坐标系的索引号
array_04.transpose(1, 2, 0)

7.

其他问题

1.一个关于c盘固执的问题 

解决pycharm缓存在C盘占空间较大问题

 解决pycharm缓存文件过大问题_pycharm占用内存过大_star_function的博客-CSDN博客

2.一个关于pytorch安装的固执问题+window系统下nvidia查看相关信息

pip安装不按着官网的指令进行安装,安装的版本是CPU版本,执行代码会一直报错。

另外服务器与电脑跑出来的模型,比如.pth文件是有区别的,注意不能直接换着使用,如需使用需要进行修改。

2.1 pytorch安装参考(稳妥的安装)

Previous PyTorch Versions | PyTorch

2.2 参考python、pytorch、cuda之间对应的版本:

01 Pytorch和CUDA对应的版本及Pytorch和Python对应的版本及Python与Anaconda的对应关系_pytorch和cuda对应版本_爱吃面的猫的博客-CSDN博客

2.3 小编对应的版本:

电脑的显卡为:GeForce RTX 3090;

cuda 11.1;

python:3.8;

安装指令如下:

# CUDA 11.1
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

安装过程中的问题有很多,存在3090不支持cuda低版本的情况,所以最后按照最高配来安装;

还有一个问题就是,过程中安装了一个torchinfo包,会导致torch环境异常,目前没有找到解决办法,小编后面规避了这个包,最后成功,能够顺利使用。

2.4 直接生成环境的requirements.txt安装文件
pip freeze > requirements.txt

参考:

python 项目自动生成环境配置文件requirements.txt_生成requirements.txt_凝眸伏笔的博客-CSDN博客

3. windos中查看gpu信息,以及NVIDIA-SMI命令详解

windos中查看gpu信息,以及NVIDIA-SMI命令详解 - 程序员大本营 (pianshen.com)

4.关于服务器结束程序进程

Linux 的 Kill -9命令_葛伦儿的博客-CSDN博客

5.关于python中的glob

from glob import glob
# 错误的
output_gt='/45TB/yk/data/output/GT/'
output_gts = glob(output_gt)
print(output_gts[0])

# 正确的
output_gt='/45TB/yk/data/output/GT/*'
output_gts = glob(output_gt)
print(output_gts[0])

不加“*”返回的会是output路径,不能得到该路径下的内容(列表的形式)

6.关于分布式训练的问题

问题描述:使用服务器GPU训练语义分割模型,始终得不到理想的分割结果,但是用单卡能得到想要的结果,试了DP、DDP训练,训练过程中均能收敛,但是得不到结果,一度认为是训练函数没写对。

考虑出现这种情况的原因:

考虑1:模型的问题,但是训练的时候是收敛的

考虑2:模型过拟合,考虑用dropout

考虑3:模型输出后,没有归一化,使用sigmoid函数进行归一化

考虑4:打印出,输出的图像tentor数据,查看是否有问题(小编这里发现确实是有问题,那么问题就这之前,不会是输出之后的处理环节)

考虑5:多卡训练时的问题,能训练,应该没啥问题,还是一步一步检查了训练函数的过程,甚至还怀疑过在dataset处理时,是不是shuffle打乱了,图像和mask(标签)的对应关系,经检验不是这个原因,纯属自己多想了!

考虑6:上面的的原因都不是,那么是预测程序的原因,研究了一下模型的保存和加载发现问题就在这里。

解决问题用的DPP的模型保存与加载如下:

# 使用model.state_dict()保存模型
file_name = os.path.join(checkpoint_dir, 'model_epoch_{}.pth'.format(epoch))
# 保存了模型的结构和参数
torch.save({
     'epoch': epoch,
     'state_dict': model.state_dict(),
     'optim_dict': optimizer.state_dict(),
},
     file_name)


# 加载(单卡加载和多卡加载类似)
# 先初始化模型,因为保存时只保存了模型参数,没有保存模型整个结构
model = Unet_all()
model = torch.nn.DataParallel(model)  # 先把模型做并行化处理
model_path = 'model_path.pth'
checkpoint = torch.load(model_path)  # model_path是你保存的模型文件的位置
model_state_dict = checkpoint['state_dict']
model.load_state_dict(model_state_dict)

遇到的奇葩问题的解决方案

1.【解决方案】python的args指定重复 错误-argparse.ArgumentError: argument -y/--data: conflicting option string: -y_Clark-dj的博客-CSDN博客

2. 调用logging.info无输出_logger info 打印 不输出_naiyang12138的博客-CSDN博客

3. 在配置vscode环境的时候,不知道什么时候在之前anaconda的一个虚拟环境中添加了一个pyvenv.cfg文件,导致这个虚拟环境用不了了,出现了报错

Fatal Python error: Py_Initialize: unable to load the file system codec

Pycharm cannot set up a python SDK

百思不得其解,小编对比了其他虚拟环境,发现其他虚拟环境没得pyvenv.cfg这个文件,所以最后删了这个文件就正常了。

总结该问题解决方案:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized-CSDN博客https://blog.csdn.net/peacefairy/article/details/110528012文章来源地址https://www.toymoban.com/news/detail-420742.html

到了这里,关于The path of studying 1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【SciSpace】人工智能太强大了!文献阅读版ChatGPT,一站式科研文献阅读工具 - 知识点目录

    首先需要上传PDF 网站支持中文问答 Explain math table - 可以询问表格或者公式信息

    2024年02月16日
    浏览(12)
  • 【百科】《DALL·E 2 vs Midjourney vs Stable Diffusion|AI图像工具对比》- 知识点目录

    【百科】《DALL·E 2 vs Midjourney vs Stable Diffusion|AI图像工具对比》- 知识点目录

    Midjourney DALL·E 2 StableDiffusion 需要收费 如果出现 “区域限制” 的情况,请尝试清除缓存后并使用全局代理访问; Stability-AI/stablediffusion DreamStudio 示例prompt: 中文提示 英文提示 提问备忘 英文提示

    2024年02月12日
    浏览(11)
  • 《人工智能专栏》必读150篇 | 专栏介绍 & 专栏目录 & Python与PyTorch | 机器与深度学习 | 目标检测 | YOLOv5及改进 | YOLOv8及改进 | 关键知识点 | 工具

    《人工智能专栏》必读150篇 | 专栏介绍 & 专栏目录 & Python与PyTorch | 机器与深度学习 | 目标检测 | YOLOv5及改进 | YOLOv8及改进 | 关键知识点 | 工具

    各位读者们好,本专栏最近刚推出,限于个人能力有限,不免会有诸多错误,敬请私信反馈给我,接受善意的提示,后期我会改正,谢谢,感谢。 第一步 :[ 购买点击跳转 ] 第二步 : 代码函数调用关系图(全网最详尽-重要) 因文档特殊,不能在博客正确显示,请移步以下链接

    2024年02月02日
    浏览(58)
  • 【字节面试】Fail-fast知识点相关知识点

    【字节面试】Fail-fast知识点相关知识点

    字节面试,问到的一个小知识点,这里做一下总结,其实小编之前有一篇文章,已经对此有过涉及,不过这里知识专项针对于问题,把这个知识点拎出来说一下。 什么是Fail-fast机制? Hashmap是否拥有Fail-fast机制? ConcurrentModificationException异常原因和解决方法是什么? 哪些你常

    2024年01月22日
    浏览(15)
  • [知识点整理]中科院/国科大 自然语言处理nlp 期末考试知识点整理

    [知识点整理]中科院/国科大 自然语言处理nlp 期末考试知识点整理

    本文为2022秋网安学院的自然语言处理课程期末复习知识点整理,水平有限,整理的答案可能有错误或遗漏,欢迎大家指正。 文章的第二部分内容参考了学校学姐的文章,文章写的很好,大家可以关注她: (133条消息) 【一起入门NLP】中科院自然语言处理期末考试*总复习*:考

    2024年02月09日
    浏览(13)
  • Java知识点:

    1、Java中的(8个)基本数据类型及其包装类:         byte(字节)                  8          -128 - 127                                                                     0         short(短整型)             16         -32768 - 32768               

    2024年02月13日
    浏览(9)
  • 函数的知识点

    1.下列选项中,能正确调用和运行函数的是(B) A、(function(){    console.log(1);   }) B、fun();   function fun(){console.log(1)} C、fn();   var fn = function(){console.log(1);}; D、var fn = new Function(a,console.log(a));   fn(1); 解析:A不会自动调用函数,若要调用函数,应改为(function(){consol

    2024年02月13日
    浏览(7)
  • Python函数知识点

         函数是指一段可以直接被另一段程序或代码引用的程序或代码,也叫做子程序、方法。现阶段可以理解成函数是带名字的代码块。 函数需要先定义再使用!     举个例子来说,想要判断一个三角形是不是直角三角形,需要用到勾股定理,只有先明确的定义出勾股定理是

    2023年04月09日
    浏览(9)
  • Java 基础知识点

    Java 基础知识点

    Object 类相关方法   getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相

    2024年02月13日
    浏览(15)
  • SQL高级知识点

    MySQL基础 1、安装    1)设置编码    2)设置密码 2、配置文件:my.ini、my.cnf    1)设置端口号      port=3306    2)设置编码    3)存储引擎     4)最大连接数    注意:重启mysql服务 3、登陆mysql数据库    问题:\\\"mysql\\\"不是系统内部或外部命令....    解决:将mysql的bin目录配置到

    2024年02月10日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包