Open-AutoGLM游戏自动化案例剖析:3步实现全自动副本刷怪与任务完成

基于视觉语言模型的手机自动化操作:Open-AutoGLM实战指南 UI自动化测试是提升软件质量和开发效率的关键技术,传统方法依赖代码定位元素,在界面频繁变更时维护成本高昂。其核心原理是通过脚本模拟用户操作,实现应用功能的自动验证。随着人工智能技术的发展,视觉语言模型为自动化领域带来了新的范式。这类模型能够直接理解屏幕的视觉信息,通过“看”和“点”的方式执行操作,显著提升了自动化的泛化能力和适应性。其技术价值在于降低了对应用内部结构的依赖,使自动化脚本更加健壮,并能处理更复杂的交互场景。Open-AutoGLM正是这一技术的实践项目,它结合了视觉语言模型与分层代理架构,支持 阅读详情

第一章:Open-AutoGLM打游戏

Open-AutoGLM 是一种基于大语言模型的自动化智能体框架,能够通过自然语言理解与环境交互,在复杂任务中实现自主决策。在游戏场景中,该框架展现出强大的指令解析与动作生成能力,可实现从文本输入到游戏操作的端到端控制。

运行环境配置

要启动 Open-AutoGLM 打游戏功能,首先需配置 Python 环境并安装核心依赖库:

  • Python 3.9 或更高版本
  • PyTorch 2.0+
  • transformers 库
  • gamepad 输入支持库(如 pygame)
# 安装依赖
pip install torch transformers pygame selenium

# 克隆项目仓库
git clone https://github.com/example/open-autoglm.git
cd open-autoglm

游戏控制流程

系统通过以下步骤将语言模型输出映射为具体操作:

  1. 捕获当前游戏画面帧作为上下文输入
  2. 结合历史对话与任务目标生成文本指令
  3. 将文本指令解析为操作码(如“跳跃”→“KEY_SPACE”)
  4. 通过虚拟输入设备执行操作
文本指令对应操作触发条件
向右移动KEY_D前方有可通行路径
跳跃避开障碍KEY_SPACE检测到低矮障碍物
使用技能火球术KEY_F敌人在攻击范围内

模型推理示例

from autoglm.agent import GameAgent

agent = GameAgent(model_name="open-autoglm-large")
action = agent.step(
    frame=current_screen, 
    task="到达关卡终点",
    history=dialogue_history
)
# 输出: {"text": "向右移动", "key": "D", "duration": 1.2}
graph TD A[游戏画面] --> B(视觉编码器) C[任务描述] --> D(语言模型推理) B --> D D --> E[动作序列] E --> F[输入模拟器] F --> G[游戏响应] G --> A

第二章:Open-AutoGLM核心技术解析

2.1 Open-AutoGLM的视觉识别机制与模型架构

Open-AutoGLM采用多模态融合架构,将视觉信息编码为语义向量并与语言模型深度集成。其核心在于双流注意力机制,分别处理图像区域特征与文本序列。
视觉编码器结构
  • 基于ResNet-50提取图像局部区域特征
  • 使用全局平均池化生成全局图像表示
  • 通过线性投影对齐到语言模型嵌入空间
跨模态注意力机制

# 伪代码示例:跨模态注意力
image_features = resnet(image)        # [B, N, D]
text_embeddings = bert(text)          # [B, T, D]
attn_output = cross_attn(
    query=text_embeddings,
    key=image_features,
    value=image_features
)  # 实现图文特征交互
该机制允许语言模型在生成过程中动态关注相关图像区域,提升视觉推理能力。其中,N为区域数,D为隐藏维度,T为文本长度。
模型参数配置
组件参数规模输出维度
视觉编码器23.5M512
语言解码器3.8B4096
跨模态适配层1.2M512

2.2 动作空间建模与指令生成逻辑

在智能体系统中,动作空间建模是连接感知与决策的核心环节。通过定义可执行动作的集合及其参数范围,系统能够将高层任务转化为具体操作指令。
动作空间结构设计
动作空间通常采用离散与连续混合模式,涵盖移动、交互、通信等基础行为。每个动作由类型标识、目标对象和执行参数构成。
动作类型参数示例语义说明
MOVE_TO{x: 5.2, y: 3.1, speed: 1.0}移动至指定坐标,速度受限
GRASP{object_id: "obj_007"}抓取特定ID物体
指令生成流程
基于策略网络输出的动作索引,结合上下文信息填充参数,生成完整指令。

def generate_command(action_idx, context):
    # 根据动作索引查找模板
    template = action_templates[action_idx]
    # 填入上下文参数(如目标位置、对象)
    filled_args = resolve_arguments(template['params'], context)
    return {'cmd': template['name'], 'args': filled_args}
该函数接收策略网络输出的动作编号和当前环境上下文,解析出具体参数并封装为可执行命令,实现从抽象决策到具体操作的映射。

2.3 游戏环境状态感知与上下文理解

状态感知的核心机制
游戏AI需实时捕捉环境变化,包括角色位置、血量、道具分布等。通过传感器模拟或游戏API接口,系统可周期性采集状态向量,构建当前游戏场景的完整快照。
上下文建模方法
使用LSTM或Transformer对历史状态序列建模,识别战术模式与对手行为倾向。例如:

# 状态编码示例
state_vector = {
    'player_pos': (x, y),
    'health': 85,
    'ammo': 5,
    'enemy_nearby': True
}
该结构将离散信息统一为可计算张量,便于神经网络处理。其中 enemy_nearby 作为布尔特征,辅助判断是否进入警戒策略分支。
多源数据融合
数据源更新频率延迟容忍
位置信息60Hz<16ms
事件日志异步100ms

2.4 多模态输入融合在游戏决策中的应用

在复杂游戏环境中,智能体需同时处理视觉、音频、文本和操作指令等多源信息。多模态输入融合技术通过整合异构数据,提升决策的准确性和实时性。
数据同步机制
由于不同模态数据采样频率不一致,需引入时间对齐策略。常用方法包括插值对齐与基于注意力的时间门控机制。
特征级融合示例

# 使用加权拼接进行特征融合
vision_feat = model_vision(frame)      # 视觉特征 [batch, 512]
audio_feat = model_audio(sound)        # 音频特征 [batch, 128]
action_feat = model_action(keys)       # 操作特征 [batch, 64]

fused = torch.cat([vision_feat, audio_feat * 0.3, action_feat * 0.5], dim=-1)
该代码段实现特征加权融合,通过调节系数平衡各模态贡献度,避免强信号压制弱信号。
融合策略对比
策略延迟精度适用场景
早期融合低中简单任务
晚期融合高高复杂决策

2.5 实时推理优化与低延迟响应策略

在高并发场景下,实现实时推理的关键在于降低端到端延迟并提升吞吐。模型轻量化是首要策略,通过剪枝、量化和知识蒸馏压缩模型规模,显著减少计算开销。
异步批处理机制
采用动态批处理(Dynamic Batching)将多个推理请求合并执行,提升GPU利用率:

# 示例:使用Triton Inference Server配置动态批处理
dynamic_batching {
  max_queue_delay_microseconds: 1000
  preferred_batch_size: [4, 8]
}
该配置允许系统在1毫秒内累积请求,优先以4或8的批量执行,平衡延迟与吞吐。
硬件感知优化
  • 利用TensorRT对模型进行图优化与内核融合
  • 启用CUDA流实现并行数据传输与计算
  • 部署至边缘设备时采用INT8量化,延迟降低达60%

第三章:自动化副本刷怪系统构建

3.1 怪物识别与优先级判定实战

在复杂战斗场景中,准确识别怪物类型并动态判定攻击优先级是AI决策的核心。系统需结合视觉特征与行为模式进行实时分析。
特征提取与分类
通过卷积神经网络提取怪物外观特征,辅以LSTM模型捕捉移动轨迹规律,实现高精度分类:

# 特征向量输入示例
features = {
    'size': 1.8,           # 相对体型
    'speed': 5.2,          # 移动速度(单位/秒)
    'attack_pattern': [1,0,1,1],  # 攻击序列编码
    'aggro_radius': 10.0   # 仇恨半径
}
该特征集用于训练随机森林分类器,区分普通怪、精英怪与BOSS类目标。
优先级评分机制
采用加权打分法计算威胁等级,公式如下:
  • 威胁分 = 体型 × 0.3 + 速度 × 0.2 + 仇恨半径 × 0.5
  • 若为远程攻击者,总分额外 +20%
怪物类型威胁分优先级
小体型近战4.1低
大型远程8.7高

3.2 自动寻路与技能释放协同设计

在复杂战斗场景中,自动寻路与技能释放的协同是提升AI智能度的核心。为实现流畅的战术行为,需将路径规划与技能决策解耦并建立通信机制。
状态同步机制
通过共享角色状态上下文,寻路系统可预判技能释放时机。例如,在接近目标时提前准备范围技能:
// 共享状态结构
type CombatContext struct {
    TargetPosition Vector2D
    IsCasting      bool
    SkillRange     float64
    Path           []Vector2D
}
上述结构被寻路与技能模块共同读取。当 IsCasting 为真时,A*算法暂停动态更新,防止位移打断施法。
触发策略列表
  • 距离进入技能范围:触发单体技能
  • 路径点密集区域:预判使用AOE清场
  • 目标移动方向稳定:启动预瞄投射物
该机制显著降低行为冲突,提升战斗连贯性。

3.3 战斗循环自动化与异常恢复机制

战斗循环的自动化是确保AI代理在复杂环境中持续高效作战的核心。通过预设行为树结构,系统可自动执行攻击、移动与防御动作。
异常检测与恢复策略
当目标丢失或技能冷却时,系统触发异常恢复流程。以下为状态恢复逻辑示例:
// 恢复战斗状态至待机
func recoverCombatState() {
    if isTargetLost() {
        clearTarget()
        setState(Idle)
    }
    if isSkillOnCooldown() {
        scheduleResume(combatLoop, getNextAvailableTime())
    }
}
该函数检测目标存在性与技能冷却状态,若异常则清空目标并重置状态,或调度下次执行时间。
  • 状态监控:实时检测战斗上下文变化
  • 断点续行:支持中断后从最近节点恢复
  • 超时熔断:防止无限等待导致的卡死

第四章:任务全流程自动完成实践

4.1 任务文本解析与目标提取方法

在自动化系统中,准确解析用户输入的任务文本并提取结构化目标是实现智能调度的核心环节。通过自然语言处理技术,可将非标准化指令转化为机器可执行的命令序列。
基于规则与模型的混合解析策略
采用正则匹配结合预训练模型的方式,兼顾效率与准确性。例如,使用正则表达式快速识别时间、操作类型等字段:
// 示例:提取任务中的操作动词和目标对象
func extractGoal(text string) map[string]string {
    re := regexp.MustCompile(`(重启|部署|更新)\s+(服务|数据库|应用)\s+([a-zA-Z0-9\-]+)`)
    matches := re.FindStringSubmatch(text)
    if len(matches) > 3 {
        return map[string]string{
            "action":   matches[1], // 操作类型
            "target":   matches[2], // 目标类别
            "name":     matches[3], // 具体名称
        }
    }
    return nil
}
该函数通过预定义模式捕获关键语义单元,适用于格式相对固定的运维指令。对于更复杂的自由文本,则引入轻量级BERT模型进行意图分类与槽位填充,提升泛化能力。
解析结果标准化映射
将提取结果统一映射为标准任务对象:
原始文本操作(action)目标(target)名称(name)
重启服务 api-gateway重启服务api-gateway
更新应用 user-service 到 v2.1更新应用user-service

4.2 NPC定位与交互触发实现

在多人在线场景中,NPC的定位与交互触发依赖于精确的空间判定与事件机制。客户端通过定时同步NPC的坐标、朝向等状态,结合视野锥检测判断玩家是否面向目标。
空间距离判定逻辑
交互触发首先基于距离阈值判断。以下为常用的距离检测代码:

// 判断玩家与NPC是否在交互范围内
float distance = Vector3.Distance(player.position, npc.position);
if (distance < interactionRange) {
    EnableInteractionPrompt(); // 显示交互提示
}
该逻辑在每帧更新中执行,interactionRange通常设为2.5米,确保用户操作自然。
触发器优化策略
  • 使用SphereCollider作为触发区域,避免高频距离计算
  • 引入Layer分层,仅对NPC层进行检测,提升性能
  • 结合动画状态机,禁止移动时禁用交互响应

4.3 物品拾取与背包管理策略

在游戏开发中,物品拾取与背包管理是核心交互逻辑之一。合理的策略不仅能提升用户体验,还能降低系统耦合度。
拾取触发机制
拾取行为通常由玩家靠近并按下交互键触发。使用事件驱动模型可有效解耦逻辑:

// 触发拾取事件
public void OnPickupItem(ItemData item) {
    if (Backpack.CanAddItem(item)) {
        Backpack.AddItem(item);
        EventManager.Trigger("OnItemPicked", item);
    } else {
        Debug.Log("背包已满");
    }
}
该方法首先校验背包容量,再执行添加操作,并广播事件通知UI更新。
背包数据结构设计
采用字典索引提升查找效率:
字段类型说明
ItemIdint物品唯一ID
Countint堆叠数量

4.4 多阶段任务状态机设计与执行

在复杂系统中,多阶段任务常涉及多个异步操作和条件分支。通过状态机模型,可将任务生命周期划分为明确的状态与转换规则,提升可维护性与可观测性。
核心状态设计
典型状态包括:PENDING、RUNNING、PAUSED、FAILED、SUCCESS。每个状态对应特定行为,确保执行逻辑隔离。
状态转换机制
// 状态转移函数示例
func (sm *StateMachine) Transition(next State) error {
    if !sm.canTransition(sm.Current, next) {
        return ErrInvalidTransition
    }
    sm.Current = next
    sm.logStateChange()
    return nil
}
该函数校验合法性后更新状态,并触发日志记录。参数 next 表示目标状态,canTransition 维护允许的转换边集。
执行流程控制
当前状态允许动作结果状态
RUNNINGpause()PAUSED
PAUSEDresume()RUNNING
RUNNINGfail()FAILED

第五章:总结与展望

技术演进的持续驱动
现代软件架构正快速向云原生和边缘计算演进。企业级应用不再局限于单体部署,而是通过 Kubernetes 编排微服务,实现弹性伸缩与高可用。例如,某金融平台将核心交易系统迁移至 Istio 服务网格后,请求延迟下降 40%,故障隔离能力显著增强。
代码实践中的优化策略
在 Go 语言开发中,合理利用 context 控制协程生命周期至关重要,避免 goroutine 泄露:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

select {
case result := <-doAsyncTask(ctx):
    log.Println("任务完成:", result)
case <-ctx.Done():
    log.Println("超时或被取消")
}
未来技术融合趋势
AI 与 DevOps 的结合正在催生 AIOps 新范式。运维团队可通过机器学习模型预测系统异常。某电商公司在大促前使用 LSTM 模型分析历史流量,提前扩容节点,成功应对峰值 QPS 超 80 万的挑战。
  • Serverless 架构将进一步降低运维复杂度
  • WebAssembly 可能在边缘函数中替代传统运行时
  • 零信任安全模型将成为默认配置标准
生态工具链的协同发展
工具类型代表项目应用场景
CI/CDArgo CDGitOps 驱动的自动化发布
可观测性OpenTelemetry统一指标、日志、追踪采集
Open-AutoGLM实现梦幻西游全自动玩法[可运行源码] 本文详细介绍了如何利用Open-AutoGLM框架实现《梦幻西游》的全自动玩法。Open-AutoGLM是一个基于大语言模型的自动化智能体框架,虽然设计初衷并非游戏自动化,但通过结合图像识别库(如OpenCV)和键盘鼠标模拟工具(如PyAutoGUI),可以构建外挂式操作代理。文章从技术可行性、核心机制解析、游戏适配原理、实现路径、关键技术突破到部署调优实战,全面阐述了自动化玩法的实现过程。重点包括计算机视觉在游戏画面识别中的应用、基于行为树的任务调度模型、输入模拟技术与操作延迟优化策略,以及反检测机制的设计。最后,文章展望了AI驱动的游戏自动化未来发展趋势,如深度强化学习与多模态感知融合技术的应用。 立即下载

相关推荐

MaPLe: Multi-modal Prompt Learning

具体而言,我们在语言分支中附加可学习的上下文标记,并通过耦合函数显式地将视觉 Prompt 置于语言 Prompt 上,以建立它们之间的交互。使用 Prompt 来适应CLIP (语言或视觉) 的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。由此,提出了一种分支感知的多模态 Prompt,通过在两种模态之间共享提示来协调 CLIP 的视觉和语言分支。在 Prompt Tuning 中,必须采取多模态方法获得同时适应 CLIP 的视觉和语言分支,以实现上下文优化的完整性。

weixin_48907099的博客 1051

【Open-AutoGLM打游戏全解析】:如何用AI大模型实现自动通关与智能决策

掌握Open-AutoGLM打游戏的完整方案,教你如何用AI大模型实现游戏自动通关与智能决策。适用于多种游戏场景,结合强化学习与自然语言理解,提升操作效率与胜率。方法实用、效果显著,值得收藏。

LearnPlex的博客 1385

台达PLC DIAdesigner-AX 编程实战:从安装到通信配置

本文详细介绍了台达PLC DIAdesigner-AX编程的实战操作,从软件安装、项目创建到通信配置的全流程。重点讲解了TCP/IP通信设置、库文件管理及常见错误处理,帮助工程师快速掌握台达PLC编程技巧,提升工业自动化项目的开发效率。

weixin_29215391的博客 530

Open-AutoGLM打游戏实战指南(AI驱动的游戏代理构建秘籍)

掌握Open-AutoGLM打游戏新方式,轻松构建AI驱动的游戏代理。适用于自动化任务、智能决策与复杂场景交互,基于自然语言指令实现自主操作,提升效率与可扩展性。核心方法开源易集成,适配多类游戏环境,值得收藏。

PoliVein的博客 1050

使用 Restart Extension 继续解决 Ansys 机械分析

您正在执行复杂或大型的多步有限元分析,突然,您意识到经过数小时的求解后,您需要添加或修改边界条件。在本篇博文中,您将了解如何利用 Ansys Mechanical 中的 RestartAnalysis 扩展来扩展多步分析,方法是合并额外的时间步骤和边界条件,而不会丢失已计算的结果。幸运的是,在 Mechanical 中,有一种直接的方法可以实现这一点,而不会损害您之前的结果,而这在添加新边界条件和使用重新启动点时经常发生。得到的结果符合预期,您可以看到施加的力产生的这两个部分之间的相对位移。

jkh920184196的博客 1232

【差分运放电路加偏置电压

摘要:该电路采用单电源供电运放(A3V3)处理双极性差分信号,通过1V直流偏置解决负半周信号削波问题。关键设计包括:15kΩ/10kΩ电阻分压建立1V基准,对称电阻网络实现2.5倍差分放大,0.1μF电容滤除电源噪声。适用于传感器信号调理(如电流采样、压力传感)和3.3V系统处理±0.5V交流信号,输出0-2.5V适配ADC输入。注意事项强调电阻匹配对共模抑制的重要性,以及电源滤波电容需靠近运放引脚布局。

qq_37999850的博客 554

【专家级教程】:如何用Open-AutoGLM训练一个会刷副本的梦幻西游AI助手

解决游戏自动化难题,本文详解如何用Open-AutoGLM训练专属梦幻西游AI助手。回答“Open-AutoGLM可以用来玩梦幻西游吗?”这一问题,覆盖副本刷怪、任务自动化等场景,基于提示工程与行为链技术实现智能决策。高效稳定,适配多种账号需求,值得收藏。

CodeTrick的博客 1475

uniapp - 使用web-view加载本地网页vue页面,用webview导入本地网页,uniAPP中使用web-view加载的本地及远程vue页面+双向通讯功能(兼容微信小程序、安卓苹果APP)

uniapp的App端web-view加载本地html,uniapp微信小程序webview加载本地HTML文件,在uniAPP中使用web-view加载的本地及远程vue页面且进行双向通讯,uni-app的web-view组件,支持加载远程网页,在app环境下,还支持加载本地HTML页面。uniapp WebView组件实现本地网页加载与通讯传值,uniAPP如何内嵌webView引入本地的vue网页示例代码,uniapp在web-view加载的本地及远程HTML中调用uni的API及网页和vue页面跳转

🏆 前端领域优质创作者 5226

大模型|微软Copilot推出AI代理自动执行任务

Genspark超级AI代理实测评估硅谷创业公司MainFunc推出的Genspark Super AI Agent引发行业关注,该产品宣称具备80+工具调用与复杂任务处理能力。实测显示:在生成哲学导读手册时表现优异,能智能搜索并输出格式规范的HTML内容;但在古典音乐播客制作中,错误使用AI作曲替代真实曲目片段,暴露音频合成短板;华为产品PPT案例虽展现端到端工作流,却存在格式混乱与内容偏颇问题;编程测试更暴露工具衔接生硬、环境适配差等缺陷。

z551646的博客 1317

由于找不到mfc110u.dll,无法继续执行代码,重新安装程序可能会解决此问题的 解决方案

本文主要介绍了由于找不到mfc110.dll,无法继续执行代码的解决方案,希望能对使用Windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 5万+

AI视频生成模型训练:从数据准备到部署全流程

咱们这次的目的就像是要建造一座超级厉害的AI视频生成魔法城堡。范围呢,就是从收集建造城堡的材料(数据准备)开始,到把城堡搭建起来(模型训练),再到让城堡能供大家使用(模型部署),涵盖了整个过程的方方面面。接下来我们会先给大家介绍一些重要的术语,就像认识冒险途中的关键道具一样。然后引入一个有趣的故事,带大家进入AI视频生成的奇妙世界,解释核心概念以及它们之间的关系。接着会详细讲解核心算法原理、数学模型和公式,还会有项目实战,带大家亲自体验代码的魅力。

小白菜的博客 399

别再手动挂机了!Open-AutoGLM实现梦幻西游全自动玩法(附完整部署脚本)

别再手动挂机了!Open-AutoGLM可以用来玩梦幻西游吗?答案是肯定的。通过视觉识别与指令自动化,实现任务、打怪、采集等全流程无人值守,部署简单、适配多分辨率。附完整脚本,一键配置,效率提升90%,值得收藏。

ProcePerch的博客 7960

Oracle EBS Tax 四国实现详解:印度、巴西、美国、阿根廷

印度:务必启用India Localization模块,不要尝试用标准EBTax模拟GST逻辑 巴西:必须配置NF-e接口,建议聘请本地税务顾问设置CFOP和NCM代码映射 美国:跨州业务强烈建议购买Vertex或Avalara服务,自建税率表维护成本极高 阿根廷:注意1:1:1架构限制,提前规划Legal Entity和OU结构

金牌架构师 260

Open-AutoGLM游戏场景尝试:自动签到任务执行案例

本文介绍了如何在星图GPU平台上自动化部署智谱开源的手机端AI Agent框架——Open-AutoGLM镜像,并利用该框架实现游戏App的自动签到任务。通过该方案,用户可轻松配置AI助手,使其自动完成每日重复性的签到操作,从而节省时间并确保奖励领取。

weixin_28850145的博客 553

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

揭秘Open-AutoGLM自动化黑科技:如何用AI实现手机操作全自动?

掌握Open-AutoGLM手机自动化,轻松实现APP操作、消息回复等任务全自动执行。基于AI识别界面元素,无需ROOT,支持多场景自定义流程。高效稳定,省时省力,值得收藏。

DevPath的博客 660

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

揭秘Open-AutoGLM游戏自动化:从环境交互到策略生成的完整技术路径

Open-AutoGLM打游戏实现高效自动化操作,揭秘从环境感知、状态识别到策略生成的完整技术路径。适用于多种游戏场景,结合强化学习与视觉理解,提升智能体决策能力。方法实用、扩展性强,值得收藏并点击了解具体实现细节。

DebugLoom的博客 758

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Open-AutoGLM游戏场景探索:日常签到自动完成部署教程

本文介绍了如何在星图GPU平台上自动化部署Open-AutoGLM – 智谱开源的手机端AI Agent框架镜像,实现游戏日常任务自动化。通过该镜像,用户仅需一句自然语言指令(如‘帮我完成《明日方舟》今日签到’),即可驱动AI识别界面、跳过广告、登录并点击签到按钮,显著提升手游运营效率。

weixin_42514750的博客 522

【AI打王者真能赢】:用Open-AutoGLM实现全自动KPL级操作的3个关键突破

Open-AutoGLM可以自动玩王者荣耀吗?本文揭示其背后三大技术突破:屏幕感知、决策推理与操作反馈闭环,实现接近KPL级的全自动对战。适用于AI游戏研究与自动化测试,点击了解如何构建你的AI王者战队,值得收藏。

LiteCompile的博客 1225

你不知道的AI黑科技:Open-AutoGLM控制游戏角色的4种隐藏模式

Open-AutoGLM可以自动玩王者荣耀吗?本文揭秘AI操控游戏的4种实用模式,涵盖脚本识别、操作模拟与实时决策,适用于自动化任务与高手陪练。低延迟响应、高兼容性,显著提升游戏效率,值得收藏。

CodeTrick的博客 888

从零构建游戏AI机器人,Open-AutoGLM驱动梦幻西游自动化全流程解析

Open-AutoGLM可以用来玩梦幻西游吗?本文揭秘如何用Open-AutoGLM构建游戏AI机器人,实现任务自动接取、战斗识别与资源采集。基于视觉识别与自然语言理解,适配多场景自动化操作,高效稳定提升游戏效率,值得收藏。

ByteGlow的博客 991

Open-AutoGLM × 梦幻西游:大模型介入游戏自动化的真实边界在哪里?

解答Open-AutoGLM可以用来玩梦幻西游吗?本文剖析大模型在游戏自动化中的实际应用边界,涵盖脚本生成、任务识别等场景,结合OCR与决策推理技术提升效率。探索AI辅助游戏的真实可能性,值得收藏。

FuncWander的博客 769

AI打游戏不再幻想:Open-AutoGLM实现梦幻西游自动任务(实测已跑通10小时)

Open-AutoGLM可以用来玩梦幻西游吗?答案是肯定的。通过AI自动化技术,Open-AutoGLM已成功实现梦幻西游日常任务自动跑环10小时无误,适用于挂机打怪、自动对话等场景,基于视觉识别与指令联动,稳定高效。值得收藏

QuickCode的博客 1722

云手机自动化新纪元:Open-AutoGLM是如何实现精准控制的?

Open-AutoGLM 操作的是云手机么?揭秘其如何通过智能指令解析与自动化脚本实现对云手机的精准控制,广泛应用于游戏挂机、批量设备管理等场景。响应快、稳定性强,大幅提升远程操作效率,值得收藏并点击了解具体实现方案。

LogicWander的博客 1036

【Open-AutoGLM手机自动化秘籍】:手把手教你实现零代码智能操作

掌握Open-AutoGLM手机操作,轻松实现零代码自动化。适用于App批量处理、定时任务与智能交互场景,通过自然语言指令驱动设备操作,无需编程基础。高效、稳定、易上手,大幅提升工作流效率,值得收藏并点击了解完整使用指南。

QuickSolve的博客 1010

仅需3步!教你用Open-AutoGLM搭建属于自己的王者荣耀自动代打系统

Open-AutoGLM可以自动玩王者荣耀吗?3步教你搭建专属代打系统。适用于日常任务、排位上分等场景,通过自动化脚本识别画面并智能操作,支持自定义策略。高效稳定,无需手动干预,值得收藏。

ProcePerch的博客 945

Open-AutoGLM云手机落地实践:3个真实行业案例告诉你为何必须现在上车

Open-AutoGLM云手机助力企业高效实现移动端自动化,适用于电商运营、游戏多开、应用测试三大场景。基于云端真机运行,支持智能调度与批量操作,提升效率达300%。稳定安全,成本更低,现在体验未来工作方式,值得收藏。

ByteShoal的博客 1016
上一篇: Open-AutoGLM autodl常见问题全解析,90%的用户都踩过的坑你避开了吗?
下一篇: 【专家视角】:为什么说Open-AutoGLM是Linux开源生态的下一个“杀手级应用”?
MessyInk
博客等级 码龄11年 136粉丝 1992原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值