1.腾讯T2I-adapter源码分析(1)-运行源码跑训练
2.暗黑2重制版几乎无望了,星际星际原因很简单,争霸转让争霸暴雪又把源代码弄丢了
3.win10下星际争霸II和Pymarl环境配置
腾讯T2I-adapter源码分析(1)-运行源码跑训练
稳定扩散、源码源代midjourney等AI绘图技术,星际星际为人们带来了令人惊叹的争霸转让争霸效果,不禁让人感叹技术发展的源码源代欧零导航系统3.3源码日新月异。然而,星际星际AI绘图的争霸转让争霸可控性一直不是很好,通过prompt描述词来操控图像很难做到随心所欲。源码源代为了使AI绘制的星际星际图像更具可控性,Controlnet、争霸转让争霸T2I-adapter等技术应运而生。源码源代本系列文章将从T2I-adapter的星际星际源码出发,分析其实现方法。争霸转让争霸
本篇是源码源代第一篇,主要介绍源码的运行方法,后续两篇将以深度图为例,分别分析推理部分和训练部分的代码。分析T2I-Adapter,也是为了继续研究我一直在研究的课题:“AI生成同一人物不同动作”,例如:罗培羽:stable-diffusion生成同一人物不同动作的vue源码探究尝试(多姿势图),Controlnet、T2I-adapter给了我一些灵感,后续将进行尝试。
T2I-Adapter论文地址如下,它与controlnet类似,都是在原模型增加一个旁路,然后对推理结果求和。
T2I-Adapter和controlnet有两个主要的不同点,从图中可见,其一是在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,反推它的数据集结构,然后准备对应数据。app架设源码先创建文件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等技术,我们也分析了它的源码实现,写了一系列文章。
暗黑2重制版几乎无望了,原因很简单,暴雪又把源代码弄丢了
在年暴雪嘉年华上,尽管公布了许多新游戏,暗黑2重制版却未被提及,引发玩家关注。暗黑2呼声高,暴雪却无意回应,原因在于原始代码与重要设计资料在发行前丢失。
暴雪曾凭借星际争霸重制版、魔兽世界怀旧服与魔兽争霸3重制版取得成功,但面对暗黑2重制的呼声,只能无奈表示无能为力。在ExileCon上,暗黑1与暗黑2初创团队设计师Erich与Max解释了原因。
暴雪在暗黑2发行前丢失了原始代码和关键设计资料的备份,无法在原始代码基础上进行重制。暴雪似乎有“丢代码”传统,星际争霸1代码丢失后,玩家购买备份寄回,才有了星际1重制版。
魔兽世界怀旧服的原始代码也未找到,由N服技术团队及代码重新开发。这表明,暴雪丢失代码已成为常态。暗黑2设计师透露,原始设计内容,尤其是艺术设计资料大量丢失,对重制构成巨大挑战。
当初,设计师期望暗黑2卖出2万份已属成功,然而其销量高达万份,暗黑系列在全球范围内拥有几千万粉丝,暗黑2尤其受到玩家怀念。虽重制呼声高,但暴雪的“丢代码”传统使得暗黑2重制版几乎无望。
玩家期待未来暗黑4能给予暗黑迷们慰藉。尽管无法重制暗黑2,但暴雪仍需关注玩家需求,挖掘潜力,创造更多经典游戏。期待未来暴雪在保持游戏品质的同时,能妥善保管代码,避免重蹈覆辙。
win下星际争霸II和Pymarl环境配置
在Windows 环境下配置星际争霸II和Pymarl的具体步骤如下:
要开始配置星际争霸II和Pymarl,首先需要解决可能遇到的其他运行错误。遇到问题时,你可以参考一些详细的运行结果截图以获取解决思路。这些截图通常会提供有用的线索,帮助你定位问题所在。你可以在这里找到相关的截图链接:[运行结果截图链接] 源代码的获取和学习也非常重要。你可以从GitHub仓库获取StarCraft项目代码:[源代码链接]。此外,对于SMAC(Sequential Model-based Algorithm Configuration)和Pymarl(Python Multi-Agent Reinforcement Learning)的进一步理解和安装,以下链接会有所帮助:单独在Ubuntu上安装SMAC:[Ubuntu SMAC安装链接]
安装非whiRL版本的Pymarl算法库:[Pymarl算法库安装链接]
访问SMAC的官方文档:[SMAC官方地址]
了解Pymarl的官方资源:[Pymarl官方地址]
对于Windows+Ubuntu环境下安装的特别指南:[Windows+Ubuntu安装指南]
一旦安装和配置完成,运行项目相对简单。可以参考['简单运行project的方法']文档,它会指导你如何启动并测试你的环境设置。遵循这些步骤,你将能够顺利在Windows 上配置星际争霸II和Pymarl环境。