小知识
文章平均质量分 54
Daniel大人
深度学习工程师,普通社畜,可能也不普通。
展开
-
关于阿里oss通过python批量上传的小坑
对于这个情况,很快想到,是由于我是循环遍历列表,然后逐张上传的,不过我没有将图片保存本地再根据地址上传,而是直接将base64图decode之后上传了,感觉虽然节省了保存的时间,但是逐张依次上传不太妥,并且查sdk后,发现oss还有提供一个参数,可以加速传输,用了之后速度明显,15s变成10s了。先说背景,我这边在业务上,通过sd生成了几张图片之后,需要上传到oss并将url返回给调用方,本来这个逻辑非常简单,但是他们觉得,好像时间不太对,说生成一张图片到返回,只要4s,怎么生成4张要15s。原创 2023-07-03 18:20:11 · 382 阅读 · 0 评论 -
关于扩散模型(Diffusion Models)中的P2-weighting使用防坑
前几天用了一个扩散模型,P2,长话短说,这个项目测试训练都没碰到啥问题,直到我需要多卡训练的时候,这个项目默认是单卡的,但是需要多卡的时候,发现其内有ddp相关设置,但是直接用torch的那一套,设置nproc_per_node什么的,这样是不可以的。参考项目说的,他严重依赖于guided-diffusion这个项目,然后这个项目说了,他使用mpi来进行分布式的,所以只需要在训练命令前加上mpiexec -n N,N 为显卡数就可以了。这样还没完,这么做了后,会报错,unhandled cuda err原创 2022-05-19 11:56:22 · 861 阅读 · 2 评论 -
关于Ubuntu多显卡服务器,掉显卡的问题
前几天公司斥巨资买了台8卡服务器,3080ti,算是非常新的电脑了吧,送来的时候装了Ubuntu,估计是服务器版,开机就是命令行,虽然我觉得还好,但是老板还是让装个桌面,方便大家玩儿。 直接说现象,就是跑了个训练后,在nvidia-smi的界面上会看到,突然掉了一个卡,然后再训练,还会继续掉,非常费解,找来服务器人员,也很费解,也找不到有用的日志。 后来他意外发现掉卡的时候,系统也会爆一个错,追溯了一下,和nouveau有关,我们都很奇怪,这个不是屏蔽了么...原创 2021-12-24 14:03:39 · 4488 阅读 · 5 评论 -
使用tensorrt的一些问题
1.碰到如下报错:[TensorRT] ERROR: INVALID_CONFIG: The engine plan file is generated on an incompatible device, expecting compute 7.5 got compute 8.6, please rebuild.[TensorRT] ERROR: engine.cpp (1646) - Serialization Error in deserialize: 0 (Core engine deseri原创 2021-08-13 14:11:37 · 6701 阅读 · 5 评论 -
关于tensorflow 2.2 使用cuda10.2的相关
因为我这边是主要使用pytorch进行工作的,但是现在有个需求需要用tensorflow,已经很久没有用这个的我,有点发愁,应该装什么版本,查了一下,说是2.2和2.3都是支持cuda10.1,但是2.4就是支持11.0了,可我pytorch1.5需要用10.2啊,一番搜索之后,其实很简单,在cuda文件目录下,将两个库建一个链接改为10.1即可cd /usr/local/cuda/lib64sudo ln -s libcudart.so.10.2.89 libcudart.so.10.1sud原创 2021-03-30 15:51:19 · 920 阅读 · 1 评论 -
关于reid-strong-baseline的一些小坑
打算水一篇今天需要跑一下reid-strong-baseline这个项目,该项目提供了很多训练脚本,然后,他提供支持了market1501、dukemtmc等数据集的读取代码,这些数据集结构都非常简单,因为我要用我自己的数据,然后自己写这些代码略麻烦,就改一下我的数据格式,无非就是改改图片名字。以dukemtmc为例,首先是必须要在传入的root路径下,有个名为dukemtmc-reid目录,里面必须包含有一个名为DukeMTMC-reID的目录,再在这个目录下有三个目录,分别为bounding_b原创 2021-03-27 15:50:16 · 885 阅读 · 0 评论 -
关于torch.load的一点小tip
今天同事问我,他说好奇怪啊,为啥这个模型总是加载报错啊,总是报显存不足,喊我过去看看,我去瞄了一下,说你试试在torch.load里面加一个参数,指定cpu加载torch.load('XXX.pth', map_location='cpu')看了下内存变化,然后发现内存也不过是增加2G左右而已,而看了下显卡信息,明明是空的,那为啥会报显存不足的错呢。此时又看了下,这台电脑是双显卡,另一张卡在跑程序,显存占用快满了,我就问了一句,你这张空卡加载别的模型可以么,回复可以的,再问,你能确定没有加载到原创 2021-03-25 10:46:12 · 761 阅读 · 0 评论 -
python flask的简单应用
看过很多flask的教程,感觉都很复杂,很多时候我的需求就是非常简单的小应用,用不到非常高级的功能首先来讲,下面就是一个简单的初始化,8070是端口号,请求的时候会用到,之所以不用一些常用的,是因为太常用的,在使用过程中可能会接到其他程序发的请求,会有点烦from flask import Flask, requestapp = Flask(__name__)if __name__ == '__main__': # Bind to PORT if defined, otherw.原创 2021-02-06 16:44:48 · 274 阅读 · 1 评论