1.代码跑五个小时正常吗
2.手把手教你将小程序项目跑起来真自律小程序
3.腾讯T2I-adapter源码分析(1)-运行源码跑训练
代码跑五个小时正常吗
正常。代跑代跑如果是源码纯写,没有可拷贝和利用的平台源代码的话,一个小时写-行代码比较正常,软件那么5个小时可写-行代码,代跑代跑评价代码质量一般按千行BUG数,源码ymodem协议源码这样的平台速度写出来的第一版程序千行BUG数以上为较差。
手把手教你将小程序项目跑起来真自律小程序
在猫宁一公众号中回复源码,软件获得下载链接,代跑代跑下载并解压小程序项目文件。源码
打开项目文件,平台编辑server/config.js文件,软件将红框标注处替换为您的代跑代跑信息。
查找qcloudAppId、源码qcloudSecretId、平台qcloudSecretKey,请登录腾讯云,点击链接:/capi,获取AppID、机场管理系统源码SecretId、SecretKey。
登录微信公众平台(mp.weixin.qq.com/),进入开发设置,找到appId、appSecret信息。
如无小程序账号,请点击注册链接并下载开发者工具。搭建前端开发环境,导入项目至微信开发者工具,完成前端环境搭建。
搭建本地后端开发环境,作为后端服务器。在MySQL数据库中创建数据表,粘贴语句创建opinions和records数据表。
启动项目前,请打开终端,安装SDK和sass插件。福利开车导航源码SDK用于获取微信用户身份的唯一标识(openId),sass插件支持scss语言运行,确保无安装错误。
运行npm run dev在项目目录启动前端代码,在server目录下启动后端代码。在微信开发者工具中查看项目效果。
项目开发全程由猫宁一全栈程序媛全程指导,更多全栈项目代码与课程目录请关注猫宁一公众号并回复源码获取。
腾讯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有两个主要的不同点,从图中可见,ige传奇引擎源码其一是在unet的编码阶段增加参数,而controlnet主要是解码阶段;其二是controlnet复制unit的上半部结构,而T2I-Adapter使用不同的模型结构。由于采用较小的模型,因此T2I-Adapter的模型较小,默认下占用M左右,而controlnet模型一般要5G空间。
首先确保机器上装有3.6版本以上python,然后把代码clone下来。随后安装依赖项,打开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。
显然,习惯了,会有一些问题没法直接运行,需要先做两步工作。准备训练数据,分析代码,定位到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等技术,我们也分析了它的源码实现,写了一系列文章。