人工智能深度学习OpenAI baselines的使用方法
作者:旺财搬砖记 发布时间:2022-03-02 22:40:47
OpenAI,由诸多硅谷大亨联合建立的人工智能非营利组织。2015年马斯克与其他硅谷科技大亨进行连续对话后,决定共同创建OpenAI,希望能够预防人工智能的灾难性影响,推动人工智能发挥积极作用
OpenAI、DeepMind,伯克利三个可以说是强化学习的推动者,其中OpenAI 为很多算法都写了baselines。本文讲开始运行例子,以A2C算法为例子(具体a2c算法原理后续讲解):
首先就是安装gym环境,具体直接参考OpenAI的github:
https://github.com/openai/gym
本文使用了Atari游戏,那么在gym中需要安装,不然有的游戏可能不会默认安装:
pip install -e '.[atari]'
这是原话:
The Atari environments are a variety of Atari video games. If you didn’t do the full install, you can install dependencies via pip install -e ‘.[atari]’ (you’ll need cmake installed) and then get started as follow:
import gym
env = gym.make('SpaceInvaders-v0')
env.reset()
env.render()
下一步就是clone baselines的仓库了:
git clone https://github.com/openai/baselines.git
然后进入目录进行运行:
目录如下:
total 48
drwxrwxr-x 6 jqw jqw 4096 Jun 8 16:50 .
drwxrwxr-x 3 jqw jqw 4096 Jun 7 11:07 ..
drwxrwxr-x 15 jqw jqw 4096 Jun 8 19:42 baselines
drwxr-xr-x 2 root root 4096 Jun 8 16:50 baselines.egg-info
drwxrwxr-x 2 jqw jqw 4096 Jun 7 11:08 data
-rw-rw-r-- 1 jqw jqw 504 Jun 7 11:08 Dockerfile
drwxrwxr-x 8 jqw jqw 4096 Jun 7 11:08 .git
-rw-rw-r-- 1 jqw jqw 285 Jun 7 11:08 .gitignore
-rw-rw-r-- 1 jqw jqw 1087 Jun 7 11:08 LICENSE
-rw-rw-r-- 1 jqw jqw 3417 Jun 7 11:08 README.md
-rw-rw-r-- 1 jqw jqw 957 Jun 7 11:08 setup.py
-rw-rw-r-- 1 jqw jqw 224 Jun 7 11:08 .travis.yml
python3 -m baselines.a2c.run_atari
就可以了,其他的算法同样的道理。
注意:此处使用给的是python3,
那么对应需要在python3下安装numpy, matplotlib, tensorflow, 等一系列库,此处省略
参考:
https://github.com/openai/gym
https://github.com/openai/baselines
来源:https://blog.csdn.net/gsww404/article/details/80627892
猜你喜欢
- 前言本文提供将图片分辨率调整的python代码,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装
- 这一版,对虹软的功能进行了一些封装,添加了人脸特征比对,比对结果保存到文件,和从文件提取特征进行比对,大体功能基本都已经实现,可以进行下一步
- 之前做课设的时候舍友遇到了需要生成500w量级车牌号的问题,于是我便写了一个随机生成车牌号的程序,希望各位采纳。注:Python实现impo
- 西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧。镜像地址:https://www.blib.cn/url
- 导入模块import numpy as npimport pandas as pd1.读取测试数据data=pd.read_csv(r
- 本文实例讲述了python解析xml文件的方法。分享给大家供大家参考。具体如下:python解析xml非常方便。在dive into pyt
- 本文实例讲述了jdbc操作mysql数据库的方法。分享给大家供大家参考。具体如下:import java.sql.*;import java
- ⛳️ 实战场景本篇博客为大家再次带来 Go 语言的基础知识,这次要学习的内容是 Go 中的文件操作。打开关闭文件在 Go 中操作文件,首先要
- Tornado的核心是什么?Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了 一个高效的 I/O 事件循
- MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写
- 以下是它们的共同点: 1. 关于左右表的概念。左表指的是在SQL语句中排在left join左边的表,右表指的是排在left join右边的
- 一.秒杀业务分析 所谓秒杀,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢
- 前言在大多数介绍 Buffer 的文章中,主要是围绕数据拼接和内存分配这两方面的。比如我们使用fs模块来读取文件内容的时候,返回的就是一个
- 开发环境说明:python 3.6.2Vs studio 2017 (已经安装C++桌面开发)我的vcvarsall.bat 路径为:&qu
- 在JavaScript中,我们应该尽可能的用局部变量来代替全局变量,这句话所有人都知道,可是这句话是谁先说的?为什么要这么做?有什么根据么?
- 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过
- 写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类。这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案
- java.util.regex类支持用正则表达式来匹配和提取字符串,读者可以去官网查看java.util.regex的详细使用方法。首先给出
- 本文实例讲述了Python tkinter实现的图片移动碰撞动画效果。分享给大家供大家参考,具体如下:先来看看运行效果:具体代码如下:#!/
- 前言 不知道从什么时候开始有了写博客的想法,奈何自己的知识储备还很薄弱,迟迟无法下笔。这是我的第一篇博客,算是记录一下自己学习前