最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python繪制lost損失曲線加方差范圍的操作方法

 更新時(shí)間:2021年10月09日 11:19:40   作者:monotonomo  
這篇文章主要介紹了python繪制lost損失曲線加方差范圍的操作方法,首先大家需要導(dǎo)入必要的包及數(shù)據(jù)的獲取方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下

1. 導(dǎo)入必要的包

我使用了seaborn,通過sns.set_style可以讓繪制出來的圖更漂亮,而且可以切換不同的類型

import re
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import shutil
import os
sns.set_style('whitegrid')

2. 數(shù)據(jù)的獲?。商^此步)

       我用的數(shù)據(jù)是通過深度強(qiáng)化得到的回報(bào)曲線。數(shù)據(jù)結(jié)構(gòu)如下所示,我所需要的是從train開始的部分,分別對(duì)應(yīng)總的回報(bào),平均回報(bào)和回報(bào)的方差。我采用了re.findall的正則表達(dá)式去提取我所需要的數(shù)據(jù),具體的操作方式可以查看源碼。

10-15 22:23:15 DATA/traffic DEBUG     train 0 totalreward : -99477.0 ReturnAvg : -102.55360824742269 ReturnStd : 34.34301970480272
10-15 22:23:29 DATA/traffic DEBUG     train 1 totalreward : -83131.0 ReturnAvg : -85.70206185567011 ReturnStd : 53.442993000985545

file_path = 'log.txt'
content = []
with open(file_path, 'r') as f:
    for line in f.readlines():
        line = line.strip('\n')
        content.append(line)
iter = []
totalreward = []
returnavg = []
returnstd = []
for line in content:
    str1 = re.findall('train.+', line)
    v = [float(x) for x in re.findall('-?\d+.?\d+|\d+', str1[0])]
    iter.append(v[0])
    totalreward.append(v[1])
    returnavg.append(v[2])
    returnstd.append(v[3])

3. 回報(bào)繪制

      直接將圖像保存到Plot的文件夾,這里保存不了jpg格式,一直保存,最后將其保存為png格式成功。設(shè)置分辨率為1000,其實(shí)差不多,只是線更清楚了。

color = cm.viridis(0.5)
f, ax = plt.subplots(1,1)
ax.plot(iter, totalreward, color=color)
ax.legend()
ax.set_xlabel('Iteration')
ax.set_ylabel('Return')
exp_dir = 'Plot/'
if not os.path.exists(exp_dir):
    os.makedirs(exp_dir, exist_ok=True)
else:
    os.makedirs(exp_dir, exist_ok=True)
f.savefig(os.path.join('Plot', 'reward' + '.png'), dpi=1000)

       曲線如下圖,可通過plt.show()顯示出來,或者直接在console輸入f并回車

4.含有方差的平均回報(bào)繪制

    在強(qiáng)化學(xué)習(xí)的論文中,我們經(jīng)常看到一條收斂線,周圍還有淺淺的范圍線,那些范圍線就是方差。繪制代碼如下,主要包含了fill_between.

color = cm.viridis(0.7)
f, ax = plt.subplots(1,1)
ax.plot(iter, returnavg, color=color)
r1 = list(map(lambda x: x[0]-x[1], zip(returnavg, returnstd)))
r2 = list(map(lambda x: x[0]+x[1], zip(returnavg, returnstd)))
ax.fill_between(iter, r1, r2, color=color, alpha=0.2)
ax.legend()
ax.set_xlabel('Iteration')
ax.set_ylabel('Return')
exp_dir = 'Plot/'
if not os.path.exists(exp_dir):
    os.makedirs(exp_dir, exist_ok=True)
f.savefig(os.path.join('Plot', 'avgreward' + '.png'), dpi=50)

結(jié)果如下

可以看到深綠色上下包裹著淺綠色的線,這就是fill_between的作用,其中可以調(diào)節(jié)alpha來改變顏色深度。

到此這篇關(guān)于python繪制lost損失曲線加方差范圍的文章就介紹到這了,更多相關(guān)python損失曲線 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • scikit-learn處理缺失數(shù)據(jù)的方法與實(shí)踐

    scikit-learn處理缺失數(shù)據(jù)的方法與實(shí)踐

    scikit-learn作為Python中廣泛使用的機(jī)器學(xué)習(xí)庫,提供了多種工具和技術(shù)來幫助我們處理缺失數(shù)據(jù),本文將詳細(xì)介紹sklearn處理缺失數(shù)據(jù)的方法,并提供實(shí)際的代碼示例,需要的朋友可以參考下
    2024-06-06
  • 淺談Python中函數(shù)的參數(shù)傳遞

    淺談Python中函數(shù)的參數(shù)傳遞

    下面小編就為大家?guī)硪黄獪\談Python中函數(shù)的參數(shù)傳遞。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Django中信號(hào)signals的簡單使用方法

    Django中信號(hào)signals的簡單使用方法

    這篇文章主要給大家介紹了關(guān)于Django中信號(hào)signals的簡單使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python爬蟲框架scrapy實(shí)戰(zhàn)之爬取京東商城進(jìn)階篇

    python爬蟲框架scrapy實(shí)戰(zhàn)之爬取京東商城進(jìn)階篇

    這篇文章主要給大家介紹了利用python爬蟲框架scrapy爬取京東商城的相關(guān)資料,文中給出了詳細(xì)的代碼介紹供大家參考學(xué)習(xí),并在文末給出了完整的代碼,需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2017-04-04
  • Python的Twisted框架上手前所必須了解的異步編程思想

    Python的Twisted框架上手前所必須了解的異步編程思想

    Twisted是Python世界中人氣最高的framework之一,異步的工作模式使其名揚(yáng)天下,這里為大家總結(jié)了Python的Twisted框架上手前所必須了解的異步編程思想,需要的朋友可以參考下
    2016-05-05
  • django框架如何集成celery進(jìn)行開發(fā)

    django框架如何集成celery進(jìn)行開發(fā)

    本文給大家詳細(xì)講解了在django框架中如何集成celery進(jìn)行開發(fā),步驟非常詳細(xì),有需要的小伙伴可以參考下
    2017-05-05
  • Python網(wǎng)絡(luò)編程之TCP套接字簡單用法示例

    Python網(wǎng)絡(luò)編程之TCP套接字簡單用法示例

    這篇文章主要介紹了Python網(wǎng)絡(luò)編程之TCP套接字簡單用法,結(jié)合實(shí)例形式分析了TCP套接字的功能及客戶端、服務(wù)器端具體實(shí)現(xiàn)方法,需要的朋友可以參考下
    2018-04-04
  • PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇

    PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇

    這篇文章主要介紹了PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • python查看FTP是否能連接成功的方法

    python查看FTP是否能連接成功的方法

    這篇文章主要介紹了python查看FTP是否能連接成功的方法,實(shí)例分析了Python連接FTP的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • Numpy掩碼式數(shù)組詳解

    Numpy掩碼式數(shù)組詳解

    下面小編就為大家分享一篇Numpy掩碼式數(shù)組詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論

海林市| 民丰县| 贡嘎县| 家居| 政和县| 诏安县| 临沭县| 石阡县| 揭阳市| 彭州市| 临安市| 城市| 呼和浩特市| 平武县| 武鸣县| 仪征市| 元朗区| 宕昌县| 巴南区| 赤城县| 当雄县| 邵东县| 嘉善县| 封丘县| 饶阳县| 南平市| 高州市| 湖州市| 卢氏县| 贵南县| 安丘市| 海南省| 邯郸县| 逊克县| 许昌市| 乐山市| 贵阳市| 定日县| 西吉县| 土默特右旗| 福清市|