当前位置: 首页 > wzjs >正文

如何做电子海报在网站wordpress post class

如何做电子海报在网站,wordpress post class,邢台做wap网站的公司,ICP备案域名网站以下是使用PyTorch训练马里奥强化学习代理的完整指南,涵盖依赖库配置、环境搭建、核心代码实现及输出结果分析,结合关键优化策略与实战经验。 一、依赖库配置 基础环境安装 # 使用Anaconda创建虚拟环境(推荐) conda create -n m…

以下是使用PyTorch训练马里奥强化学习代理的完整指南,涵盖依赖库配置、环境搭建、核心代码实现及输出结果分析,结合关键优化策略与实战经验。


一、依赖库配置

  1. 基础环境安装
# 使用Anaconda创建虚拟环境(推荐)
conda create -n mario_rl python=3.9
conda activate mario_rl# 安装PyTorch(GPU版,需CUDA 11.3+)
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113# 安装强化学习依赖库
pip install gym==0.25.2  # 兼容旧版环境
pip install gym-super-mario-bros nes-py tensorboard

• 注意:若使用Windows系统,需额外安装Visual C++编译工具链以支持部分库。

  1. 环境验证
import gym
import gym_super_mario_bros
from nes_py.wrappers import JoypadSpaceenv = gym_super_mario_bros.make('SuperMarioBros-1-1-v0')
env = JoypadSpace(env, [["right"], ["right", "A"]])  # 限制动作为右移和跳跃
print(f"动作空间:{env.action_space},观察空间:{env.observation_space.shape}")

若输出如动作空间:Discrete(2),观察空间:(240, 256, 3),则环境配置成功。


二、环境预处理与模型搭建

  1. 图像预处理
from gym.wrappers import GrayScaleObservation, ResizeObservation
from stable_baselines3.common.vec_env import DummyVecEnv, VecFrameStack# 转换为灰度图并调整分辨率
env = GrayScaleObservation(env, keep_dim=True)
env = ResizeObservation(env, (84, 84))# 帧堆叠(4帧动态感知)
env = DummyVecEnv([lambda: env])
env = VecFrameStack(env, n_stack=4, channels_order='last')

• 作用:将输入从RGB(240x256x3)降维到灰度(84x84x1),并堆叠4帧以捕捉动态。

  1. PPO模型定义
from stable_baselines3 import PPO
from stable_baselines3.common.callbacks import BaseCallbackclass TensorboardCallback(BaseCallback):def _on_step(self):self.logger.record('train/reward', self.training_env.get_attr('total_reward')[0])return Truemodel = PPO(policy="CnnPolicy",env=env,learning_rate=1e-4,n_steps=2048,batch_size=64,gamma=0.99,tensorboard_log="./logs/"
)

• 参数说明:

CnnPolicy:卷积网络处理图像输入

gamma=0.99:未来奖励衰减系数

n_steps=2048:每次更新前收集的步数。


三、训练流程与结果监控

  1. 启动训练
model.learn(total_timesteps=1_000_000,callback=TensorboardCallback(),tb_log_name="ppo_mario"
)

• 输出日志示例:

| rollout/            |          |
|    ep_len_mean      | 152      |
|    ep_rew_mean      | 320      |
| time/               |          |
|    total_timesteps  | 2048     |

表示平均每回合步长152,奖励320,总训练步数2048。

  1. TensorBoard监控
tensorboard --logdir ./logs/

查看指标:
• train/reward:实时奖励变化

• losses/value_loss:价值网络损失

• rollout/ep_rew_mean:回合平均奖励。

  1. 训练效果示例
    经过100万步训练后:
    • 初期(0-20万步):随机探索,平均奖励<100

• 中期(50万步):学会跳跃躲避障碍,奖励提升至500+

• 后期(100万步):稳定通过第一关,最高奖励达3000+。


四、模型测试与部署

  1. 加载模型推理
model = PPO.load("ppo_mario")
obs = env.reset()
while True:action, _ = model.predict(obs)obs, rewards, done, info = env.step(action)env.render()if done:obs = env.reset()

• 效果:马里奥自动右移、跳跃吃金币,躲避敌人并通关。

  1. 优化方向
    • 奖励工程:增加通关奖励(+1000)、死亡惩罚(-500)

• 混合精度训练:启用torch.cuda.amp加速计算

• 分布式训练:多环境并行采集数据(SubprocVecEnv)。


五、常见问题解决

  1. CUDA版本冲突
    • 检查nvidia-smitorch.cuda.is_available()

    • 重装匹配版本的PyTorch(如CUDA 11.3对应torch==1.12.1)。

  2. 内存不足
    • 减小batch_size(如64→32)

    • 启用梯度检查点(model.gradient_checkpointing_enable())。


通过上述步骤,您可完整实现一个能通关《超级马里奥》的强化学习代理。如需完整代码,可参考官方教程及GitHub开源项目。

http://www.dtcms.com/wzjs/812959.html

相关文章:

  • 如何做视频网站旗下账号rp如何做网站
  • 电子商务实验网站建设实训过程百度制作公司网页
  • 吴江区桃源镇做网站wordpress浏览器跳转
  • 做外贸生意用哪个网站网站搭建十大品牌公司
  • 个人备案的网站内容企业做网站的多吗
  • 静态化网站和app的区别jsp网站开发的参考文献
  • 现在给别人做网站还赚钱吗海尔电子商务网站建设情况
  • 大连市建设学校网站网络推广的优点
  • 安徽公路建设行业协会网站是哪个网站报价明细表
  • 网站备案变更 能让首页关闭 二级域名继续微信推广方案范文
  • 家用电脑怎么做网站做网站要到通信管理局备案
  • 廊坊建设网站公司造价师在哪个网站做继续教育
  • 网站英文联系我们WordPress百家号同步插件
  • dz旅游网站模板深圳设计装修公司
  • 怎样制作免费手机网站腾讯云服务器怎么重启
  • 司法局网站建设工作汇报郑州网络建
  • 南京百度推广网站东营网站关键词
  • jquery 的网站模板下载地址怎么做html5网站
  • 制作网站的公司叫什么wordpress skype 插件
  • 山西网站推angularjs 网站模板
  • 百度站长工具app织梦能做视频网站吗
  • 汽车电子商务网站建设wordpress安装微信登录插件
  • 杭州市建设工程交易中心网站婚纱摄影网站建设公司
  • 购买一个网站需要多少钱?叫别人建个网站多少钱
  • 网校网站怎么做深圳专业网络营销外包公司
  • 九江做网站开发需要多少钱如何知道网站有没有备案
  • wap网站开发价钱wordpress 登录用户信息
  • 网站开发需要什么基础温州网站设计公司哪家好
  • 东莞做个网站中国最顶尖的服装设计公司
  • 建设行政管理部门网站各大网站的网址