问题标签 [stable-baselines]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1506 浏览

tensorflow - 我可以在 Ubuntu 20.04.1 LTS 上安装支持 GPU 的 Tenserflow 1.15 吗?

我正在使用 GeForce RTX 2060 构建深度学习平台。

我想使用与tensorflow 2.0 不兼容的 baselines-stable 。

根据herehere,tensorflow-gpu-1.15仅被列为与CUDA 10.0兼容,而不是CUDA 10.1。

尝试从 Nvidia 下载 CUDA,Ubuntu 20.04 的选项不适用于 CUDA 10.0。

搜索 apt-cache 也不会生成 CUDA 10.0。

我非常希望不必使用旧版本的 Ubuntu 重新安装操作系统。然而,尝试强化学习是购买这台 PC 的动机。

我看到了一些可能的线索,表明可以从支持 cuda 10.1 的源代码构建 tensorflow-gpu-1.15。我还看到一条随机评论说 tensorflow-gpu-1.15 将与 tf 1.15 一起工作,但我不想在安装东西时出现错误的步骤,直到我有一个指示方向的信号。卸载东西并不总是那么简单。

  • 我应该安装 CUDA 10.1 并交叉手指 1.15 会喜欢它。
  • 我是否应该为较旧的 Ubuntu 版本下载 CUDA 10.0 的安装,看看它是否仍会安装
  • 我是否应该尝试针对 CUDA 10.1 从源代码编译 tensorflow(呵呵)
  • 我是否应该安装旧版本的 Ubuntu 并希望我不会过快过时。

鉴于这种情况,有没有办法在 Ubuntu 20.04.1 上运行具有 gpu 支持的 tensorflow 1.15?

0 投票
0 回答
109 浏览

python - 断言错误:默认字典(.在 0x7f31699ffe18>

我一直在使用稳定的基线和具有 3 个操作的离散环境来开发 DQN。

我正在使用 RL 教程https://github.com/dennybritz/reinforcement-learning/blob/master/MC/MC%20Control%20with%20Epsilon-Greedy%20Policies%20Solution.ipynb

以供参考

但是我的蒙特卡洛方法的辅助函数有一些问题

当我调用该函数时,

我得到错误

我不知道如何解决这个问题,

谢谢

0 投票
1 回答
2972 浏览

tensorflow - 如何将经过训练的 TF1 protobuf 模型加载到 TF2 中?

更新:这是张量流中的一个错误。在此处跟踪进度。

我已经使用稳定基线创建并训练了一个模型,该模型使用了 Tensorflow 1。现在我需要在我只能访问 Tensorflow 2 或 PyTorch 的环境中使用这个训练有素的模型。我想我会使用 Tensorflow 2,因为文档说我应该能够加载使用 Tensorflow 1 创建的模型。

我可以在 Tensorflow 1 中毫无问题地加载 pb 文件

但是在 Tensorflow 2 中,我收到以下错误

型号定义

TF1中的模型保存:

完全可重现的代码可以在以下 2 个 google colab notebooks 中找到: Tensorflow 1 保存和加载 Tensorflow 2 加载

直接链接到保存的模型: model

0 投票
0 回答
48 浏览

conv-neural-network - 检查稳定基线自定义策略的参数变化

我正在尝试使用稳定的基线训练强化学习模型以避免碰撞。我正在使用自定义策略网络。我已经训练了几个模型,它们已经收敛到一个稳定的奖励,但似乎该策略是输入(观察空间)独立的,这意味着无论它得到什么观察,它都会采取固定的行动。我需要调试这个问题,我想检查策略网络参数的变化可能会有所帮助。有谁知道我如何调试问题或如何检查自定义策略参数的变化?

0 投票
1 回答
733 浏览

pytorch - Pytorch - RuntimeError:无效的多项分布(遇到概率条目< 0)

我正在使用 Stable Baselines 3 来训练代理玩Connect 4游戏。当代理作为第二个玩家开始游戏时,我试图考虑这种情况。

当我尝试运行代码时,出现以下错误:

但是,当代理是第一个玩家时没有问题:

我认为问题与 Pytorch 库有关。我的问题是如何解决这个问题?

0 投票
1 回答
783 浏览

reinforcement-learning - 稳定的基线:DQN 表现不佳?

我在使用 DQN 作为对角线和正弦波作为价格波动时遇到问题。当价格上涨时,会有奖励,并且在图表中显示为绿色。当价格下跌并被标记为红色时,奖励就会增加。请看这个链接这个链接的DQN在学习上比稳定基线的DQN好很多。

即使对 DQN 使用对角线,我也遇到了困难。

DQN对角线

辛波:如果结果相反,那就太好了。绿色代表上升,红色代表下降。

仙波线

我所做的是将学习率从 0.01 更改为 10。将 Epsilon 更改为 1。

在 PPO2 中,我可以得到一个不错的结果。对于罪波:

使用 PPO2 的正弦波线

对于对角线,它也确实有效!

对角线

这是我的代码。只需评论和取消评论测试 PPO2 与 DQN 所需的内容

系统信息: 描述您的环境特征:

  1. 视窗 10
  2. 张量流 1.15.0
  3. 稳定基线 2.10.2a0 dev_0
  4. 健身房-anytrading 1.2.0

康达清单:

0 投票
0 回答
106 浏览

google-colaboratory - 当 logdir 存储在变量中时,Tensorflow 找不到日志

我不明白,当 logdir 存储在变量中时,如下所示,张量板打开并显示:

当前数据集没有处于活动状态的仪表板。

如果我输入相同的路径进入张量板工作正常

我错过了什么?

我正在使用 google-colaboratory 和 stable-baselines

0 投票
1 回答
76 浏览

reinforcement-learning - MlpPolicy 仅返回 1 和 -1 与 action spece[-1,1]

我尝试使用 Stable Baseliens 训练带有 MlpPolicy 的 PPO2。在 100k 时间步之后,我只能得到 1 和 -1 的作用。我将动作空间限制为 [-1, 1] 并直接使用动作作为控制。不知道是不是因为我直接用action作为控制?

0 投票
2 回答
312 浏览

python - 满足完成条件后,Gym Retro/Stable-Baselines 不会停止迭代

我正在尝试使用 Gym Retro 和 Stable-Baselines 来训练机器人玩超级马里奥兄弟。一切似乎都有效,只是环境似乎并没有真正结束/重置。它录制的BK2文件大小超过500 kb,转换成视频大约需要20分钟,视频时长大约2小时。视频本身以大约三分钟的 AI 游戏开始,但在失去所有三个生命后,它会停留在标题屏幕上,直到演示开始播放。我很确定这个演示会被奖励功能所接受,所以它会干扰训练。我还担心它会大大减慢训练速度,因为它必须经历 2 小时的额外“游戏”。这是我的场景文件的样子:

我已经使用集成 UI 工具验证了 Done 和 Did-End 变量在满足任一完成条件时切换为 yes。以防万一这里是相关的 Python 代码:

如果您想查看整个 Python 笔记本,请点击以下链接:https ://colab.research.google.com/drive/1ThxDqjeNQh3rNEXYqlXJQ6tn3W2TPK7k?usp=sharing

修复这个问题可能不会改变它的训练方式,但至少我希望有更小的 bk2 和 mp4 文件,这样它们更容易处理。任何意见,将不胜感激。也让我知道是否有更好的地方可以问这个问题

0 投票
1 回答
348 浏览

pytorch - 如何更改 Pytorch 模型以使用 3d 输入而不是 2d 输入?

我正在尝试训练代理玩Connect4游戏。我找到了一个如何训练它的例子。板的表示是 1x6x7 数组:

使用了这种神经网络架构:

在与随机移动的智能体 2 的游戏中,它的得分还不错:

这里建议将 3 层表示作为改进代理的方法之一:

在此处输入图像描述

我试图实现它,这是新的 3 层板表示的示例:

当我使用当前的神经网络架构运行它时,代理无法正确训练:

在这里你可以看到我的代码。

正如你现在所看到的,我有 3 层而不是 1 层。这就是我尝试使用 Conv3d 的原因:

当我尝试运行此代码时,它显示此错误:

RuntimeError: 5 维权重 [32, 1, 3, 3, 3] 的预期 5 维输入,但得到了大小为 [1, 3, 6, 7] 的 4 维输入

我的问题:如何使用具有 3x6x7 形状输入的 Conv3D 层?