标题: 发布地形预测器
性别:女-离线 普罗_puluo

Rank: 4
组别 女官
级别 破贼校尉
好贴 2
功绩 31
帖子 69
编号 545415
注册 2023-9-23


发表于 2024-4-23 01:52 资料 文集 短消息 看全部作者
发布地形预测器

这是一个输入地图,自动预测地形并输出地形图的AI工具。如图所示:



图片附件: m055_compare.jpg (2024-4-23 01:53, 307.6 K)



我设计了一个VGG-16卷积神经网络,分别训练了旧画风地图的预测模型 和 新画风地图的预测模型。(旧画风即原版画风,新画风即现在流传较广的圣三画风)

容量警告,AI神经网络的库非常大,高达1~2个G,所以请自行斟酌是否要用该大炮打蚊子

安装/使用方法:

0、首先确定你的电脑有独立显卡,并安装了配套的CUDA(CUDA安装教程满世界都有)

1、到我的网盘中下载软件本体,链接:https://pan.baidu.com/s/1aAVgn2xXw4dFYHoT6kOtdA?pwd=lcfg 提取码:lcfg

2、解压软件本体后,在我的网盘中选择旧画风模型(old_style.pt) 或者新画风模型(new_style.pt)进行下载,当然如果你的mod两种画风都有,那可以都下载。下载好模型文件后,将其放入models文件夹。

3、打开main.exe,弹出一个窗口:



图片附件: 地形预测器主窗口.png (2024-4-23 01:52, 4.53 K)



首先先选择模型类型,旧画风就选old_style.pt,新画风就选new_style.pt。注意:如果你没有下载任何模型到models文件夹,那么软件会自动闪退。

然后点击“选择图片”,选择自己想要预测地形的地图即可。这里可以多选,这样预测器会自动对多张地图同时进行预测。

如果勾选了最后的“显示对比结果”,那么每预测完一张地图,软件会跳出一张对比图:



图片附件: 地形预测器 弹出结果.png (2024-4-23 01:52, 534.72 K)



预测完毕后,在原地图文件的路径下会生成两张新图,一个是预测对比结果,另一个是bmp格式的地形文件:



图片附件: 地形预测器 输出结果.png (2024-4-23 01:55, 15.65 K)



使用star新的6.5形象指定器 将地形文件导入到hexmap.e5中即可。



如果您发现把模型都放到models文件夹后,软件依然闪退,请这样操作:

点击软件的文件夹的路径,在路径的最前方输入cmd (末尾有个空格),打开cmd控制台,输入main.exe,然后将控制台的报错反馈给我。



[ 本帖最后由 普罗_puluo 于 2024-4-23 03:27 编辑 ]


顶部
性别:女-离线 普罗_puluo

Rank: 4
组别 女官
级别 破贼校尉
好贴 2
功绩 31
帖子 69
编号 545415
注册 2023-9-23


发表于 2024-4-23 02:03 资料 文集 短消息 看全部作者
2楼讲一下 如果您想自己训练 那么需要注意的事宜。(对于只预测 不训练的用户可以跳过这一节)


目前我已开源,将工程放到了github上:https://github.com/Puluomiyuhun/Hexmap-Predictor

代码使用的网络就是朴素的VGG-16卷积神经网络模型,为了图省事我只做了训练集,甚至没有做测试集。有感兴趣的朋友可以自行下载研究。

训练自己模型的方法:

0、确定自己的电脑有显卡,并且电脑安装了CUDA,python版本随意,但是需要安装对应版本的pytorch

1、将一个mod的所有(或部分)游戏地图复制到“origin_map”文件夹中,然后将“hexmap.e5”文件也复制到“origin_map“文件夹中。

2、在“DataMaker.py”中,可以修改“mod_id”,例如0。然后运行“DataMaker.py”。
在“training_data”文件夹中,您会发现每个地图将被拆分为48×48个图像,并且会创建一个名为“train.csv”的新文件来保存每个拆分地图的地形标签。

3、如果你想选择第二个或更多mod的地图,你需要每次更新“origin_map”文件夹内的地图和hexmap.e5文件,同时要记得更改“DataMaker.py”中的“mod_id”。此操作是为了防止新的mod地图覆盖旧的地图数据。

4、运行“train.py”。这里有一些参数列表:

    parser.add_argument('--batch_size', type=int, default=100, help='单批batch的图片总数')
    parser.add_argument('--num_workers', type=int, default=4, help='数据集的workders数量')
    parser.add_argument('--epoch_num', type=int, default=50, help='训练总轮数')
    parser.add_argument('--batch_print', type=int, default=200, help='每训练多少个batch,打印一次loss')
    parser.add_argument('--epoch_save', type=int, default=200, help='每训练多少个轮,保存一次模型权重')
    parser.add_argument('--resume_train', type=str, default='', help='如果要继续训练,填写权重的路径')

懂神经网络的自然懂,不懂神经网络的最好不要动这些参数。

5、训练结束后,你会在models文件夹下发现新的pt文件,这就是你训练的模型,你可以在预测的时候载入自己的模型,从而预测自己地图风格的地形。


[ 本帖最后由 普罗_puluo 于 2024-4-23 02:13 编辑 ]


顶部
性别:女-离线 普罗_puluo

Rank: 4
组别 女官
级别 破贼校尉
好贴 2
功绩 31
帖子 69
编号 545415
注册 2023-9-23


发表于 2024-4-23 02:16 资料 文集 短消息 看全部作者
3L吐槽一嘴

最近天天和各种AI网络打交道,所以我在曹操传mod这边做的项目也时常有用AI大炮打蚊子的嫌疑。

整体而言研究价值可能大于工程实用价值,如果大家用不来 当图一乐就好。。。
顶部

正在浏览此帖的会员 - 共 4 人在线




当前时区 GMT+8, 现在时间是 2024-11-15 20:02
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.010572 second(s), 10 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP