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日
    浏览(49)
  • 【百科】《DALL·E 2 vs Midjourney vs Stable Diffusion|AI图像工具对比》- 知识点目录

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

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

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

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

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

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

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

    2024年02月09日
    浏览(51)
  • ospf知识点汇总

    OSPF : 开放式最短路径优先协议 使用范围:IGP 协议算法特点: 链路状态型路由协议,SPF算法 协议是否传递网络掩码:传递网络掩码 协议封装:基于IP协议封装,协议号为 89 一.OSPF 特点 1.OSPF 是一种典型的链路状态型路由协议 2.传递信息称作LSA,LSA 链路状态通告,包含路由

    2024年02月09日
    浏览(41)
  • Web知识点复习

    1. get/post请求优缺点 (1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中) (2)post发送的数据更大(get有url长度限制) (3)post能发送更多的数据类型(get只能发送ASCII字符) (4)post比get慢,get和post请求的过程中GET产生一个T

    2024年01月22日
    浏览(43)
  • 【python知识点】锦集

    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/132368704 出自【进步*于辰的博客】 注:本文可能不适合 0-Python 基础的博友,因为对于各类知识点,我阐述的宗旨是“ 阐明使用细节 ”,而不是基础知识。 细节、

    2024年02月12日
    浏览(44)
  • 竞赛知识点5【图论】

    图论起源于著名的哥尼斯堡七桥问题——从这四块陆地中任何一块开始,通过每一座桥正好 一次,再回到起点。欧拉在 1736 年解决了这个问题,欧拉证明了这个问题没有解,并且推广 了这个问题,给出了对于一个给定的图可以某种方式走遍的判定法则。这就是后来的欧拉路

    2024年02月09日
    浏览(54)
  • 硬件基础知识点

    D:十进制 B:二进制 H:十六进制 二进制→十六进制 整数部分从右往左,小数部分从左往右。 四个二进制数看作一个十六进制数,不足的补零。 十六进制→二进制同理。 十进制→二进制 方法一:短除法 除二倒取整,乘二正取余 方法二:拆分法(二进制减法) 十进制数转

    2024年02月06日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包