1.高颜值登录页面(一键复制)
2.基于pytorch+Resnet101加GPT搭建AI玩王者荣耀
3.还在用BeanUtils拷贝对象?MapStruct才是王者网站王者网站王者!附源码
4.7个源代码/库搜索引擎网站
5.å¦ä½ç¨mt管ççè
è£è
6.腾讯T2I-adapter源码分析(1)-运行源码跑训练
高颜值登录页面(一键复制)
登录页面作为每个项目不可或缺的一部分,是源码源码应用的门面。在多年的下载前端工作中,我发现大多数登录界面设计都较为相似。王者网站王者网站因此,源码源码有时候没有必要从头开始创作。下载在线书城项目源码以下是王者网站王者网站我自认为比较好看的uniapp登录界面,供大家参考,源码源码方便下次直接复制并修改使用。下载请注意,王者网站王者网站这些界面仅包含静态页面,源码源码未涉及逻辑部分,下载便于在此基础上进行调整(本文为雪天前端原创)。王者网站王者网站
首先展示效果:
实际应用效果
源码
粉色登录界面(图一):
白色登录界面(图二):
蓝色登录界面(图三):
(背景来源网络)
网址打包成桌面.exe --
网页毕设源码(王者荣耀) --
把网页打包成app(简单) --
前端CSS魔法 --
Vue3优秀的源码源码UI组件库(高颜值) --
下载量超高的vscode AI插件 --
基于pytorch+Resnet加GPT搭建AI玩王者荣耀
本源码模型采用了SamLynnEvans Transformer 的解码部分与预训练的“resnet-5d3b4d8f.pth”模型。此资源源自网络,下载详细信息请参阅:<a href="github.com/FengQuanLi/R... 在运行此代码时,请注意以下几点:模型在基于多局游戏数据训练后,可能出现送人头等问题,且代码中可能有不规范之处,请谅解。
代码最初旨在测试模型是否能玩王者荣耀,由B站用户强烈要求开源,因此可能存在大量问题,敬请谅解。
运行环境支持Win,Win7的兼容性未知,但推测可能适用;需配备至少6G显存的NVIDIA显卡,4G的ti也可勉强运行。
需要一台可运行安卓调试的手机并能正常玩王者荣耀,虚拟机未测试过,理论上可操作。
需下载scrcpy的Windows版本,并将所有文件解压至项目根目录;解压位置需参照相关指引。
pyminitouch库在运行时会自动安装minitouch,若未自动安装,需手动完成安装;minitouch不支持Android。
使用者手机分辨率需与代码兼容,否则需要调整代码中的位置描述;布局需参照B站视频或训练截图。
游戏更新可能影响代码效果,经营模拟类游戏服务器源码无法保证长期有效性;作者后续可能会发布教程,分享设计思路。
代码提供训练数据生成方法,包括下载模型、运行相关脚本,以及手动生成训练数据的步骤。
模型训练包含数据预处理和训练两个阶段,具体操作见相关代码文档。
按键映射由minitouch进行模拟,需通过指定.json文件完成本地化计算。
代码运行需安装torch、torchvision、pynput、pyminitouch等库,可能还需其他依赖。 代码提供训练数据样本下载链接,训练数据量有限,但可作为初步试验用。 训练流程包括数据预处理、模型训练两个步骤,具体操作见相关代码文档。 为了完成按键映射的本地化,需要执行以下步骤:开启开发者模式,允许USB调试,以获取手机权限并模拟点击操作。
在手机上开启显示点按操作的视觉反馈及指针位置功能,以便监控按键点按位置。
根据手机屏幕显示的指针位置,计算出对应的json文件坐标,用于本地按键映射的生成。
所有相关文档、教程及资源链接已整合在代码文档中,供开发者查阅与参考。还在用BeanUtils拷贝对象?MapStruct才是王者!附源码
MapStruct 是一个强大的 Java 代码生成工具,专用于简化 JavaBean 类型之间的映射实现,尤其在多层应用中实体类与数据传输对象(DTO)之间映射的场景中发挥巨大优势。与传统的手工实现映射相比,MapStruct 通过生成高性能且易于理解的阶码和尾数均用源码表示映射代码,显著提高了开发效率,降低了错误率。 MapStruct 的核心特点包括: 自动代码生成:MapStruct 作为编译器插件,在编译时自动为映射接口生成映射代码,实现对象属性的快速映射。 性能优化:生成的映射代码基于普通方法调用,高效且类型安全,支持快速开发和错误检查。 约定优于配置:默认提供了丰富的映射规则,减少配置复杂性,但允许用户自定义实现特殊映射行为。 以下是 MapStruct 的基本使用流程: 引入依赖:确保在项目中正确配置 MapStruct 与 Lombok 的版本兼容性。 定义实体类和 DTO 类:创建需要映射的对象。 创建映射接口:定义映射方法,约定映射规则。 生成映射代码:编译项目,MapStruct 会自动生成实现类,包含所有定义的映射逻辑。 使用映射接口:在客户端代码中注入映射接口,调用映射方法完成对象间的转换。 除了基础用法,MapStruct 还提供了更高级的特性: @Mapper 注解:用于标记映射接口,激活代码生成。 @Mapping 属性:用于配置映射规则,支持多种映射策略,如通过源属性、表达式或常量。 @Mappings、@MappingTarget 等注解:支持更复杂、动态的映射逻辑,如更新已有对象的属性。 扩展功能:如支持多个对象映射至单个对象等高级用法。 MapStruct 与传统拷贝方法的对比显示,它在处理大数据量时具有显著的性能优势。在性能测试中,MapStruct 的表现优于其他常见拷贝工具,如 Apache BeanUtils、cglib 等。大话西游手游h5源码在实际应用中,选择 MapStruct 作为对象映射工具,尤其在需要处理大量数据时,能够显著提升系统性能,优化资源利用。7个源代码/库搜索引擎网站
1. GitHub - 开源代码领域的领航者 GitHub, 作为全球领先的开源代码库和版本控制系统,最近引入了革新性的源代码搜索服务。尽管它在这个领域相对较新,但其庞大的代码库已积累超过亿计,正如一篇博文中所述:“GitHub,无疑是海量宝藏的代名词!” 2. Krugle - 互联网上的搜索巨擘 Krugle凭借超过亿行代码的搜索覆盖,堪称全球最大的源代码搜索引擎之一,甚至声称其搜索结果囊括了全球三分之一开发者的作品。企业级服务更是覆盖了Amazon、IBM等知名企业,如Collab.net和SourceForge,以及Yahoo!等巨头。 3. Koders - Ruby程序员的最爱 Koders的搜索范围超过亿行代码,尤其受到Ruby程序员的热烈追捧。在被Black Duck Software收购后,Ruby搜索量激增倍,超越PHP、Perl和Python,成为该平台的第四大热门语言,仅次于Java、C/C++和C#。 4. Codaes - Linux时代的C/C++聚焦者 Codaes在源代码搜索领域虽然规模较小,拥有约2.5亿代码资源,但主要聚焦Linux C/C++项目,对于如今的技术环境稍显过时。除非Linux相关,否则可能有更多选择。 5. DZone - 用户共享的代码宝库 DZone拥有超过名用户贡献的个代码片段,是寻找代码的宝藏库,但需耐心挖掘。这里隐藏着无数珍贵的编程灵感,适合有毅力的学英语资源码打不开怎么办探索者。 6. Snipplr - 精致片段的海洋 尽管Snipplr的用户数略逊于DZone(约人),但代码片段数量却高达,增长迅速。它还提供了针对Textmate、Gedit、WordPress等工具的便捷插件,效率极高。 7. Google Code Search - 搜索领域的无可争议王者 最后,不能不提Google Code Search,作为搜索领域的巨头,其功能强大无需赘言。虽然Google并未透露具体代码库规模,但其与GitHub、SourceForge等海量公共代码库的紧密合作,足以证明其在源代码搜索领域的主导地位。几乎涵盖了所有编程语言的支持,是开发者寻找代码的首选工具。å¦ä½ç¨mt管ççè è£è
å¦ä½ç¨mt管ççè è£èå ³äºMTè¿è¡ç®¡ççè¯ï¼å®é ä¸ä½ è¦æä½ä¸ä¸ªæ¹é¢ï¼æ¯è¿ä¸ªMTçä¸ä¸ªæ´ä½çä¸ä¸ªç®¡çç»æï¼ç®¡çæ¶æï¼è¿æ¯ç¬¬ä¸ä¸ªç¹ã第äºä¸ªæ¹é¢è¿è¦è¿è¡ä»ä¹è¿è¡ä¸ä¸ªæ´ä½çè¿ä¹ä¸ä¸ªæ转å¼çå®æï¼ç»ç¹çè§åï¼ä»¥åæ¯æºä»£ç çæä½å使ç¨ï¼è¿ç¬¬äºç¹ï¼ç¬¬ä¸ç¹æ¥è®²çè¯ï¼è¿è¦è¿è¡ä»ä¹å¢ï¼è¿è¡è¿ä¸ªè¿è¡æ¶é´åç»ææ¶é´ï¼é£ä¹ä»£ç æ§å¶æä½ï¼ä»¥åï¼è¿ä¸ªè¾çåçå©ç对æ¯æ åµæ¥è®²çè¯ï¼è¿ä¸ªæ¥è®²ï¼æåå¦ææ¯ä»¥ä¸æ¥è®²é½è½å®æä¹åï¼å°±å¯ä»¥ç¨MTè¿è¡ç®¡çã
腾讯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下来。随后安装依赖项,打开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等技术,我们也分析了它的源码实现,写了一系列文章。
Axios源码深度剖析 - AJAX新王者
Axios 是一个基于 Promise 的 HTTP 请求库,支持浏览器和 Node.js 环境。其源码在 GitHub 上开源,欢迎 fork 使用并提出指正。以下为 Axios 的核心目录结构说明,主要关注在 /lib/ 目录下的文件。
在使用 Axios 时,你可能会遇到多种调用方式,本文将带你深入了解这些方式及其原理。
首先,我们来了解一下 Axios 的基本用法。你可以使用以下几种方式发起请求:
1. `axios(option)`:提供一个配置对象进行调用。
2. `axios(url[, option])`:传入 URL 和配置对象。
3. 对于 GET、DELETE 等方法:`axios[method](url[, option])`。
4. 对于 POST、PUT 等方法:`axios[method](url[, data[, option]])`。
5. 使用默认实例:`axios.request(option)`。
通过以上方式,你可以轻松发起 HTTP 请求。
深入源码分析,你将发现 Axios 的强大之处。通过 `axios.js` 文件的入口,核心在于 `createInstance` 方法,该方法能生成一个指向 `Axios.prototype.request` 的 Function,从而实现多种调用方式。
在 Axios 的核心 `Axios` 类中,`request` 方法是所有功能的中枢,无论是 GET、POST 还是其他方法,最终都通过 `request` 方法实现。
配置项是 Axios 与用户交互的关键,它涵盖了几乎所有功能的配置。配置项从低到高优先级顺序为:默认配置对象、`defaults` 属性、`request` 方法参数。
在使用 Axios 时,配置项是如何生效的?答案在于合并多个配置源,最终得到一个综合配置对象。
此外,Axios 提供了拦截器系统,让你可以控制请求前后的数据处理。每个 Axios 实例都有 `interceptors` 属性,用于管理拦截器,让你实现精细的控制。
核心的 `dispatchRequest` 方法则负责处理请求流程,包括请求适配器、发送请求、数据转换等步骤。最后,通过 Promise,你可以优雅地处理异步请求。
数据转换器让你能轻松地在请求和响应数据之间进行转换,如将对象转换为 JSON 格式。默认情况下,Axios 自动处理 JSON 数据转换。
在使用 Axios 时,你还能灵活地控制超时、取消请求、设置 header、携带 cookie 等功能。通过源码分析,你可以深入理解 Axios 的内部机制。
总结,Axios 以其强大、灵活的功能和简洁的 API 设计,成为现代应用中不可或缺的 HTTP 请求工具。通过本文的深入探讨,你将对 Axios 的运作机制有更深刻的理解,从而更好地利用其功能。