1.腾讯T2I-adapter源码分析(1)-运行源码跑训练
2.cv方向的跑码跑马步态识别在gethub的gaitset源码怎么跑通呀,卡了两
3.代码跑五个小时正常吗
腾讯T2I-adapter源码分析(1)-运行源码跑训练
稳定扩散、midjourney等AI绘图技术,源码游戏源码为人们带来了令人惊叹的跑码跑马效果,不禁让人感叹技术发展的源码游戏源码日新月异。然而,跑码跑马AI绘图的源码游戏源码大阳战法指标公式源码可控性一直不是很好,通过prompt描述词来操控图像很难做到随心所欲。跑码跑马为了使AI绘制的源码游戏源码图像更具可控性,Controlnet、跑码跑马T2I-adapter等技术应运而生。源码游戏源码本系列文章将从T2I-adapter的跑码跑马源码出发,分析其实现方法。源码游戏源码
本篇是跑码跑马第一篇,主要介绍源码的源码游戏源码运行方法,后续两篇将以深度图为例,跑码跑马分别分析推理部分和训练部分的代码。分析T2I-Adapter,也是为了继续研究我一直在研究的课题:“AI生成同一人物不同动作”,例如:罗培羽:stable-diffusion生成同一人物不同动作的淘宝群源码尝试(多姿势图),Controlnet、T2I-adapter给了我一些灵感,后续将进行尝试。
T2I-Adapter论文地址如下,它与controlnet类似,都是在原模型增加一个旁路,然后对推理结果求和。
T2I-Adapter和controlnet有两个主要的不同点,从图中可见,其一是在unet的编码阶段增加参数,而controlnet主要是解码阶段;其二是controlnet复制unit的上半部结构,而T2I-Adapter使用不同的模型结构。由于采用较小的模型,因此T2I-Adapter的模型较小,默认下占用M左右,而controlnet模型一般要5G空间。
首先确保机器上装有3.6版本以上python,然后把代码clone下来。仿ins源码随后安装依赖项,打开requirements.txt,可以看到依赖项的内容。然后下载示例,下载的会放到examples目录下。接着下载sd模型到model目录下,再下载T2I-Adapter的模型到目录下,模型可以按需到huggingface.co/TencentA...下载。这里我下载了depth和openpose。sd模型除了上述的v1-5,也还下载了sd-v1-4.ckpt。
根据文档,尝试运行一个由深度图生成的例子,下图的左侧是深度图,提示语是"desk, best quality, extremely detailed",右侧是生成出来的。运行过程比较艰辛,一开始在一台8G显存的终端防护源码服务器上跑,显存不够;重新搭环境在一台G显存的服务器上跑,还是不够;最后用一台G显存的服务器,终于运行起来了。
接下来尝试跑openpose的例子,下图左侧是骨架图,提示词为"Iron man, high-quality, high-res",右侧是生成的图像。
既然能跑推理,那么尝试跑训练。为了后续修改代码运行,目标是准备一点点数据把训练代码跑起来,至于训练的效果不是当前关注的。程序中也有训练的脚步,我们以训练深度图条件为例,来运行train_depth.py。
显然,习惯了,会有一些问题没法直接运行,mathematica源码研究需要先做两步工作。准备训练数据,分析代码,定位到ldm/data/dataset_depth.py,反推它的数据集结构,然后准备对应数据。先创建文件datasets/laion_depth_meta_v1.txt,用于存放数据文件的地址,由于只是测试,我就只添加两行。然后准备,图中的.png和.png是结果图,.depth.png和.depth.png是深度图,.txt和.txt是对应的文本描述。
文本描述如下,都只是为了把代码跑起来而做的简单设置。设置环境变量,由于T2I-Adapter使用多卡训练,显然我也没这个环境,因此要让它在单机上跑。而代码中也会获取一些环境变量,因此做简单的设置。
做好准备工作,可以运行程序了,出于硬件条件限制,只能把batch size设置为1。在A显卡跑了约8小时,完成,按默认的配置,模型保存experiments/train_depth/models/model_ad_.pth。那么,使用训练出来的模型试试效果,能生成如下(此处只是为了跑起来代码,用训练集来测试),验证了可以跑起来。
运行起来,但这还不够,我们还得看看代码是怎么写法,下一篇见。
PS:《直观理解AI博弈原理》是笔者写的一篇长文,从五子棋、象棋、围棋的AI演进讲起,从深度遍历、MAX-MIN剪枝再到蒙特卡罗树搜索,一步步介绍AI博弈的原理,而后引出强化学习方法,通俗易懂地介绍AlphaGo围棋、星际争霸强化学习AI、王者荣耀AI的一些强化学习要点,值得推荐。
AUTOMATIC的webui是近期很流行的stable-diffusion应用,它集合stable-diffusion各项常用功能,还通过扩展的形式支持controlnet、lora等技术,我们也分析了它的源码实现,写了一系列文章。
cv方向的步态识别在gethub的gaitset源码怎么跑通呀,卡了两
本篇文章聚焦于对GaitSet源码在GitHub上的测试流程解析。首先,深入探讨了测试部分的架构,从初始化阶段开始,测试代码与训练部分紧密相连,但存在关键差异。
在测试阶段,重点关注的是test.py文件中的测试函数,这里与训练过程中在initialization.py的初始化环节相呼应。测试函数通过改变DataLoader中的sampler和collate_fn参数,确保测试样本的采样方式符合特定需求。具体而言,当训练阶段设置self.sample_type='all'时,测试阶段的采样策略也相应地采取全采样策略。
测试流程继续,样本通过网络处理后,生成特征维度被记录。接下来,通过返回m变量,进入evaluation阶段,具体为evaluator.py文件。这一部分涉及到探针集(probe set)和画廊集(gallery set)的概念,详细解释可参考相关文章。最终,通过计算acc(准确率),测试阶段对rank-1准确度(包含相同视角)和rank-1准确度(不包含相同视角)进行了评估。
至此,测试部分解析完成。对于GaitSet源码的代码开源计划已在GitHub上启动,对于入门步态识别领域的人来说,GaitSet提供了一个相当不错的起点。然而,后续将不再深入探讨GaitSet的代码细节,转而关注最新的步态识别框架OpenGait。如果在阅读GaitSet代码过程中遇到问题,鼓励通过私聊或评论方式与作者交流,作者将及时提供回复。
若文章内容对读者有所帮助,请考虑进行一键三连操作,表达支持。感谢大家的阅读与关注!
代码跑五个小时正常吗
正常。如果是纯写,没有可拷贝和利用的源代码的话,一个小时写-行代码比较正常,那么5个小时可写-行代码,评价代码质量一般按千行BUG数,这样的速度写出来的第一版程序千行BUG数以上为较差。