module ‘plotting‘ has no attribute ‘EpisodeStats‘

plotting.py 的版本不同,可以使用下列版本

reinforcement-learning/lib/plotting.py at master · dennybritz/reinforcement-learning · GitHubImplementation of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow. Exercises and Solutions to accompany Sutton's Book and David Silver's course. - reinforcement-learning/lib/plotting.py at master · dennybritz/reinforcement-learningicon-default.png?t=N7T8https://github.com/dennybritz/reinforcement-learning/blob/master/lib/plotting.py

import matplotlib
import numpy as np
import pandas as pd
from collections import namedtuple
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3DEpisodeStats = namedtuple("Stats",["episode_lengths", "episode_rewards"])def plot_cost_to_go_mountain_car(env, estimator, num_tiles=20):x = np.linspace(env.observation_space.low[0], env.observation_space.high[0], num=num_tiles)y = np.linspace(env.observation_space.low[1], env.observation_space.high[1], num=num_tiles)X, Y = np.meshgrid(x, y)Z = np.apply_along_axis(lambda _: -np.max(estimator.predict(_)), 2, np.dstack([X, Y]))fig = plt.figure(figsize=(10, 5))ax = fig.add_subplot(111, projection='3d')surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=matplotlib.cm.coolwarm, vmin=-1.0, vmax=1.0)ax.set_xlabel('Position')ax.set_ylabel('Velocity')ax.set_zlabel('Value')ax.set_title("Mountain \"Cost To Go\" Function")fig.colorbar(surf)plt.show()def plot_value_function(V, title="Value Function"):"""Plots the value function as a surface plot."""min_x = min(k[0] for k in V.keys())max_x = max(k[0] for k in V.keys())min_y = min(k[1] for k in V.keys())max_y = max(k[1] for k in V.keys())x_range = np.arange(min_x, max_x + 1)y_range = np.arange(min_y, max_y + 1)X, Y = np.meshgrid(x_range, y_range)# Find value for all (x, y) coordinatesZ_noace = np.apply_along_axis(lambda _: V[(_[0], _[1], False)], 2, np.dstack([X, Y]))Z_ace = np.apply_along_axis(lambda _: V[(_[0], _[1], True)], 2, np.dstack([X, Y]))def plot_surface(X, Y, Z, title):fig = plt.figure(figsize=(20, 10))ax = fig.add_subplot(111, projection='3d')surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=matplotlib.cm.coolwarm, vmin=-1.0, vmax=1.0)ax.set_xlabel('Player Sum')ax.set_ylabel('Dealer Showing')ax.set_zlabel('Value')ax.set_title(title)ax.view_init(ax.elev, -120)fig.colorbar(surf)plt.show()plot_surface(X, Y, Z_noace, "{} (No Usable Ace)".format(title))plot_surface(X, Y, Z_ace, "{} (Usable Ace)".format(title))def plot_episode_stats(stats, smoothing_window=10, noshow=False):# Plot the episode length over timefig1 = plt.figure(figsize=(10,5))plt.plot(stats.episode_lengths)plt.xlabel("Episode")plt.ylabel("Episode Length")plt.title("Episode Length over Time")if noshow:plt.close(fig1)else:plt.show(fig1)# Plot the episode reward over timefig2 = plt.figure(figsize=(10,5))rewards_smoothed = pd.Series(stats.episode_rewards).rolling(smoothing_window, min_periods=smoothing_window).mean()plt.plot(rewards_smoothed)plt.xlabel("Episode")plt.ylabel("Episode Reward (Smoothed)")plt.title("Episode Reward over Time (Smoothed over window size {})".format(smoothing_window))if noshow:plt.close(fig2)else:plt.show(fig2)# Plot time steps and episode numberfig3 = plt.figure(figsize=(10,5))plt.plot(np.cumsum(stats.episode_lengths), np.arange(len(stats.episode_lengths)))plt.xlabel("Time Steps")plt.ylabel("Episode")plt.title("Episode per time step")if noshow:plt.close(fig3)else:plt.show(fig3)return fig1, fig2, fig3

详情:python - module 'plotting' has no attribute 'EpisodeStats' - Stack Overflowicon-default.png?t=N7T8https://stackoverflow.com/questions/62287080/module-plotting-has-no-attribute-episodestats

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++之左值、右值、完美转发

1、左值、右值概念 左值: 是指在内存中有明确的地址,可以进行取地址操作。 // 以下的a、p、*p、b都是左值 int a 3; int* p &a; *p; const int b 2; 右值: 只提供数据,无法进行取地址操作。 double x …

如何将云服务器上操作系统由centos切换为ubuntu

本文将介绍如何将我们购买的云服务器上之前装的centos切换为ubuntu,云服务器以华为云为例,要切换的ubuntu版本为ubuntu20.04。 参考官方文档:切换操作系统_弹性云服务器 ECS (huaweicloud.com) 首先打开华为云官网,登录后点击右…

frm一级4个1大神复习经验分享系列(二)

先说一下自己的情况,8月份中旬开始备考,中间一直是跟着网课走,notes和官方书都没看,然后10月份下旬开始刷题一直到考试。下面分享一些自己备考的经验和走过的弯路。 一级 一级整体学习下来的感受是偏重于基础的理论知识。FRM一级侧…

MongoDB分片集群容灾方案

MongoDB分片集群容灾方案 1. 集群同步工具介绍1.1 第三方数据同步工具mongoshake1.2 官方同步工具mongosync 2. 工具对比2.1 数据一致性2.2 稳定性和可靠性2.3 维护成本 3. 总结 1. 集群同步工具介绍 最近客户咨询MongoDB分片集群市面上主流的容灾方案,所以抽空整理…

Java | String类型使用注意事项

String不支持下标访问! String s1"wgh";中,创建了一个String对象(此语句等效为String s1new String("wgh"))。直接用字符串字面量构造的字符串在常量池里;用new String方法构造的字符串在堆里。 …

安卓六种页面加载优化方案对比总结

根据工作经验,笔者提炼了六种页面加载优化方式,按照业务与非业务,将六种加载方式分为两类: 业务类 控制业务与UI的执行顺序、控制多业务之间的执行顺序 ①预加载:是指在进入页面之前,提前获得页面所需得数据…

Conda入门教程

Conda是一个强大的开源包和环境管理系统,专为Python设计,但也可以用于其他语言。以下是Conda的入门教程,帮助你开始使用Conda进行Python环境和包的管理。 一、安装Conda 访问Conda的官网(https://conda.io/projects/conda/en/la…

操作系统 - 计算机系统概述

事前提一嘴 室友考完研了,下一年就是我了,真不想和他们一起考,压力太大了,这里分享一点笔记吧 采用王道考研的书以及视频,去掉了一些书上的废话,加上了视频中的重点,最后总结出来的 如有侵权&a…

直播预告|中服云第5代`工业物联产品线上发布会

我国作为全球制造业的领军者,拥有世界上最完整且健全的制造业产业链。但随着各企业规模的扩大和设备的增加,企业设备管理面临的难点和挑战也越来越多。 为了满足企业不断提高的设备管理需求,中服云即将推出全新的“设备全生命周期管理系统5.…

SOA 与“微服务”的区别

SOA(面向服务的架构)与微服务之间的区别可以从多个维度进行分析。以下是一些主要的区别点: 服务粒度: SOA:服务粒度相对较粗。在SOA中,服务可能涵盖多个功能或业务领域,例如,在一个大…

机器学习之聚类学习

聚类算法 概念 根据样本之间相似性,将样本划分到不同类别种,不同相似度计算方法,会得到不同聚类结果,常用相似度计算方法为:欧氏距离 目的是在没有先验知识情况下,自动发现数据集种内在结构和模式 无监督…

告别裸奔,聊聊主流消息队列的认证和鉴权!

大家好,我是君哥。 我们在使用消息队列时,经常关注的是消息队列收发消息的功能。但好多时候需要对客户端有一定的限制,比如只有持有令牌的客户端才能访问集权,不允许 Producer 发送消息到某一个 Topic,或者某一个 Top…

朗之万动力学(Langevin dynamics)

朗之万动力学(Langevin dynamics) 是一种模拟经典粒子运动的方法,常用于物理、化学和材料科学等领域。它是由法国物理学家保罗朗之万(Paul Langevin)于1908年提出的,用于描述布朗运动,即微小粒…

四、通信和网络安全—局域网|广域网|远程连接和攻击技术(CISSP)

目录 1.局域网和广域网 1.1 WAN技术总结 2.远程连接—无线技术 2.1 VPN 2.2 隧道协议总结

人脸识别——Webface-OCC遮挡人脸识别算法解析

1. 概述 自2019年被誉为人脸识别技术的元年,各地纷纷引入这项技术。然而,自2020年起,为了抵御冠状病毒(COVID-19)的全球传播,人们普遍开始佩戴口罩。众所周知,现有人脸识别模型在面对遮挡物&am…

Dalle2学习

Dalle2 mini有GitHub库并且有网页可以直接测试

网络之再谈体系结构

大家都知道的是网络的体系结构,现代软件常用的体系结构无非是TCP/IP协议栈,OSI因为实现复杂并且效率没有TCP/IP协议栈好,所以不用OSI,但是,最近在复习网络知识的时候,发现了一些奇怪的地方,那就…

C/C++连接MySQL

本章Gitee仓库地址:mysql连接基本操作 文章目录 1. mysql connect库2. mysql相关接口2.1 mysql_init()2.2 mysql_real_connect()2.3 mysql_query()2.4 mysql_store_result()2.41 mysql_num_rows2.42 mysql_num_fields2.43 mysql_fetch_row2.44 mysql_fetch_fields 2…

中国上市企业行业异质性数据分析

数据简介:企业行业异质性数据是指不同行业的企业在运营、管理、财务等方面的差异性数据。这些数据可以反映不同行业企业的特点、优势和劣势,以及行业间的异质性对企业经营和投资的影响。通过对企业行业异质性数据的分析,投资者可以更好地了解…

STM32系列-STM32介绍

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” STM32介绍 STM32介绍 ST:指的是意法半导体 M:指定微处理器 32:表示计算机处理器位数 ARM分成三个系列: Cortex-A&#xff1…