1.水无常形——开源围棋 AI 软件 KataGo 安装使用指南
2.腾讯T2I-adapter源码分析(1)-运行源码跑训练
3.Pythonå¹è®è¯¾ç¨åªå®¶å¥½ï¼
水无常形——开源围棋 AI 软件 KataGo 安装使用指南
KataGo是码下一款由David J. Wu开发的围棋软件,它借鉴了DeepMind的码下AlphaGo Zero与AlphaZero论文中的研究,并在训练速度上进行了大幅改进,码下成为目前世界顶级的码下电脑围棋软件之一。其名字来源于日语“かた”,码下寓意通过强化学习永久训练自己并完成形式的码下服务商进件平台源码人工智能。 KataGo相比AlphaGo的码下优势在于使用方法。用户通过命令行输入指令,码下KataGo以文本形式输出分析结果。码下对于非专业用户来说,码下掌握这些指令较为困难。码下因此,码下需要一个图形用户界面作为中介,码下将用户的码下棋谱转化为命令,将KataGo的码下输出转化为可视化的棋盘。常见的图形用户界面包括KaTrain等工具。 此外,KataGo提供了四个后端版本供用户选择,分别是OpenCL、CUDA、TensorRT和Eigen。vr设计源码根据不同的硬件配置和需求,用户可以选择最适合的后端版本以优化性能。 在安装KataGo之前,需要确保显卡驱动程序已经安装。对于TensorRT后端,还需要额外安装CUDA和TensorRT。以下是KataGo的安装步骤:前往KataGo的源代码库编译或下载主程序。
下载权重文件,并将其复制到KataGo文件夹中。
使用命令行自动生成配置文件,根据提示设置规则和参数。
对于那些希望简化安装过程的用户,可以尝试使用KaTrain这样的All in One工具。KaTrain提供了一个集成的界面,使得使用KataGo变得更加容易。 如果您希望深入了解KataGo的高级使用方法,可以按照以下步骤进行:在KataGo文件夹中使用命令生成配置文件。
自动生成配置文件时,根据提示设置规则和参数。
对于自定义配置文件的网页源码h编辑,您可以按照特定的规则和参数进行修改,以适应您的需求。例如,您可以在规则部分选择特定的规则,调整是否允许认输,以及设置线程数以优化性能。 最后,为了提供更直观的分析结果,您可以使用图形用户界面工具,如Sabaki,与KataGo配合使用。通过设置界面参数,您可以查看胜率图、变化树等信息,以便更好地理解AI的分析结果。 总之,KataGo是一款强大的围棋软件,通过适当的选择后端版本、安装配置文件和使用图形用户界面工具,您可以在不同的解ID源码硬件环境中优化其性能,从而获得更深入的围棋分析体验。腾讯T2I-adapter源码分析(1)-运行源码跑训练
稳定扩散、midjourney等AI绘图技术,为人们带来了令人惊叹的效果,不禁让人感叹技术发展的日新月异。然而,AI绘图的可控性一直不是很好,通过prompt描述词来操控图像很难做到随心所欲。为了使AI绘制的图像更具可控性,Controlnet、T2I-adapter等技术应运而生。本系列文章将从T2I-adapter的源码出发,分析其实现方法。
本篇是第一篇,主要介绍源码的运行方法,后续两篇将以深度图为例,分别分析推理部分和训练部分的代码。分析T2I-Adapter,也是为了继续研究我一直在研究的课题:“AI生成同一人物不同动作”,例如:罗培羽:stable-diffusion生成同一人物不同动作的libvirt源码解析尝试(多姿势图),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,反推它的数据集结构,然后准备对应数据。先创建文件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等技术,我们也分析了它的源码实现,写了一系列文章。
Pythonå¹è®è¯¾ç¨åªå®¶å¥½ï¼
ä¸åæºæ课ç¨å®æä¸åï¼æ¯ä¸ªäººéæ±ä¸ä¸æ ·ï¼éæ©ä¸ä¹æ¯åå¨å·®å¼ï¼å»ºè®®æ ¹æ®èªèº«éæ±ï¼å®å°ä½éªä¸ä¸ã
课ç¨å®æï¼
é¶æ®µä¸ï¼Pythonå¼ååºç¡
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹Pythonå¼ååºç¡ç¥è¯å¦ä¹ å 容å æ¬ï¼Pythonåºç¡è¯æ³ãæ°æ®ç±»åãå符ç¼ç ãæ件æä½ãå½æ°ãè£ é¥°å¨ãè¿ä»£å¨ãå ç½®æ¹æ³ã常ç¨æ¨¡åçã
é¶æ®µäºï¼Pythoné«çº§ç¼ç¨åæ°æ®åºå¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹Pythoné«çº§ç¼ç¨åæ°æ®åºå¼åç¥è¯å¦ä¹ å 容å æ¬ï¼é¢å对象å¼åãSocketç½ç»ç¼ç¨ã线ç¨ãè¿ç¨ãéåãIOå¤è·¯æ¨¡åãMysqlæ°æ®åºå¼åçã
é¶æ®µä¸ï¼å端å¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹å端å¼åç¥è¯å¦ä¹ å 容å æ¬ï¼HtmlãCSSãJavaScriptå¼åãJquery&bootstrapå¼åãå端æ¡æ¶VUEå¼åçã
é¶æ®µåï¼WEBæ¡æ¶å¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹WEBæ¡æ¶å¼åå¦ä¹ å 容å æ¬ï¼Djangoæ¡æ¶åºç¡ãDjangoæ¡æ¶è¿é¶ãBBS+Blogå®æ项ç®å¼åãç¼ååéåä¸é´ä»¶ãFlaskæ¡æ¶å¦ä¹ ãTornadoæ¡æ¶å¦ä¹ ãRestful APIçã
é¶æ®µäºï¼ç¬è«å¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹ç¬è«å¼åå¦ä¹ å 容å æ¬ï¼ç¬è«å¼åå®æã
é¶æ®µå ï¼å ¨æ 项ç®å®æ
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹å ¨æ 项ç®å®æå¦ä¹ å 容å æ¬ï¼ä¼ä¸åºç¨å·¥å ·å¦ä¹ ãCRM客æ·å ³ç³»ç®¡çç³»ç»å¼åãè·¯é£å¦åå¨çº¿æè²å¹³å°å¼åçã
é¶æ®µä¸ï¼æ°æ®åæ
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹æ°æ®åæå¦ä¹ å 容å æ¬ï¼éèéååæã
é¶æ®µå «ï¼äººå·¥æºè½
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹äººå·¥æºè½å¦ä¹ å 容å æ¬ï¼æºå¨å¦ä¹ ãå¾å½¢è¯å«ãæ 人æºå¼åãæ 人驾驶çã
é¶æ®µä¹ï¼èªå¨åè¿ç»´&å¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹èªå¨åè¿ç»´&å¼åå¦ä¹ å 容å æ¬ï¼CMDBèµäº§ç®¡çç³»ç»å¼åãIT审计+主æºç®¡çç³»ç»å¼åãåå¸å¼ä¸»æºçæ§ç³»ç»å¼åçã
é¶æ®µåï¼é«å¹¶åè¯è¨GOå¼å
Pythonå ¨æ å¼åä¸äººå·¥æºè½ä¹é«å¹¶åè¯è¨GOå¼åå¦ä¹ å 容å æ¬ï¼GOè¯è¨åºç¡ãæ°æ®ç±»åä¸æ件IOæä½ãå½æ°åé¢å对象ã并åç¼ç¨çã