pythongym
⑴ 深度強化學習 如何訓練
多謝邀請。關於gym可參考我的知乎專欄帖子:強化學習實戰 第一講 gym學習及二次開發 - 知乎專欄。關注該專欄,可以學到很多強化學習的知識(理論知識和實踐知識)。
下面正式回答你的問題:搞深度強化學習,訓練環境的搭建是必須的,因為訓練環境是測試演算法,訓練參數的基本平台(當然,也可以用實際的樣機進行訓練,但時間和代價是相當大的)。
現在大家用的最多的是openai的gym( github.com/openai/gym ),或者universe
(github.com/openai/unive),。這兩個平台非常好,是通用的平台,而且與tensorflow和Theano無縫連接,雖然目前只支持python語言,但相信在不久的將來也會支持其他語言。下面我根據自己的理解,講下關於gym的一些事情。
Gym的原理是什麼?它是新東西嗎?
在我看來,gym並不是完全的新東西,它不過是用python語言寫的模擬器。對於模擬器大家肯定並不陌生。學控制的人都用過或聽過matlab的simulink,學機械的人應該用過動力學模擬軟體adams,gym在本質上和simulink,adams沒什麼區別。
如果把Gym,simulink,adams等等這些模擬器去掉界面顯示(如動畫顯示),剩下的本質不過是一組微分方程。所以Gym,simulink,adams等等一切模擬器的本質是微分方程。比如,運動學微分方程,動力學微分方程,控制方程等。Gym在構造環境時,主要的任務就是構建描述你模型的微分方程。
我們舉例說明:
Gym中的CartPole環境是如何構建的:
下面的鏈接是gym中CartPole環境模型:
github.com/openai/gym/b
在該環境模型中,最核心的函數是def _step(self, action)函數,該函數定義了CartPole的環境模型,而在該函數中最核心的代碼如下:
圖中方框中又是這段代碼中最核心的地方,這兩行代碼便決定了CartPole的模型。簡單的模型,通過手工推導便可完成。
那麼對於復雜的模型,比如戰斗機器人,各種大型游戲怎麼辦呢?
這就需要專門的多剛體模擬軟體了,這些軟體背後的核心技術都是物理引擎。大家可以搜下物理引擎這個詞,游戲以及各種模擬軟體都要用到物理引擎,用的多的而且開源的物理引擎有:ODE, Bullet, Havok, Physx等。原則上來說利用這些物理引擎都可以搭建訓練環境。Gym在搭建機器人模擬環境用的是mujoco,ros裡面的物理引擎是gazebo。
下面針對你的問題,逐條回答:
1. gym中CartPole, MountainCar這種環境的構建原理是怎樣的?
答:這種簡單的環境只需要手動推導便可寫出動力學方程,然後可以人為編寫環境模型。只是,gym中除了給出了動力學方程,還加入了界面程序,將結果更直觀地顯示出來。
2. gym中的環境源代碼能不能查看和修改?
Gym是開源開發工具,所有代碼都可查看和修改。可以模仿gym已有的例子自己創建環境。Gym創建環境很方便,只需要編寫你的環境模型,並將你的環境模型注冊到環境文件中即可,至於如何構建新的環境,請關注我的知乎專欄,我會在後面講一講。我的專欄中深入剖析了gym並給出了創建自己環境的實例,強化學習實戰 第一講 gym學習及二次開發 - 知乎專欄。
⑵ 學python可以找什麼工作
學習可以從事工作有很多,比如說:人工智慧、web開發、爬蟲、數據分析、游戲開發、自動化運維等。
⑶ Python gym模塊win7可以使用嗎
可以用pip 安裝Python模塊,這樣安裝的就包括當前操作系統支持的本地模塊
⑷ 去哪裡找python的開源項目
GitHub是一個面向開源及私有軟體項目的託管平台,因為只支持git 作為唯一的版本庫格式進行託管,故名GitHub。作為開源代碼庫以及版本控制系統,Github擁有超過900萬開發者用戶。隨著越來越多的應用程序轉移到了雲上,Github已經成為了管理軟體開發以及發現已有代碼的首選方法。在GitHub,用戶可以十分輕易地找到海量的開源代碼。
下面給大家介紹一些GitHub上25個開源項目:
(1)TensorFlow Models
如果你對機器學習和深度學習感興趣,一定聽說過TensorFlow。TensorFlow Models是一個開源存儲庫,可以找到許多與深度學習相關的庫和模型。
(GitHub: https://github.com/tensorflow/models )
(2)Keras
Keras是一個高級神經網路API,用Python編寫,能夠在TensorFlow,CNTK或Theano之上運行。旨在完成深度學習的快速開發(GitHub: https://github.com/keras-team/keras )
(3)Flask
Flask 是一個微型的 Python 開發的 Web 框架,基於Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授權。
(GitHub: https://github.com/pallets/flask )
(4)scikit-learn
scikit-learn是一個用於機器學習的Python模塊,基於 NumPy、SciPy 和 matplotlib 構建。,並遵循 BSD 許可協議。
(GitHub: https://github.com/scikit-learn )
(5)Zulip
Zulip是一款功能強大的開源群聊應用程序,它結合了實時聊天的即時性和線程對話的生產力優勢。Zulip作為一個開源項目,被許多世界500強企業,大型組織以及其他需要實時聊天系統的用戶選擇使用,該系統允許用戶每天輕松處理數百或數千條消息。Zulip擁有超過300名貢獻者,每月合並超過500次提交,也是規模最大,發展最快的開源群聊項目。
(GitHub: https://github.com/zulip/zulip )
相關推薦:《Python入門教程》
(6)Django
Django 是 Python 編程語言驅動的一個開源模型-視圖-控制器(MVC)風格的 Web 應用程序框架,旨在快速開發出清晰,實用的設計。使用 Django,我們在幾分鍾之內就可以創建高品質、易維護、資料庫驅動的應用程序。
(GitHub: https://github.com/django/django )
(7)Rebound
Rebound 是一個當你得到編譯錯誤時即時獲取 Stack Overflow 結果的命令行工具。 就用 rebound 命令執行你的文件。這對程序員來說方便了不少。
(GitHub: https://github.com/shobrook/rebound )
(8)Google Images Download
這是一個命令行python程序,用於搜索Google Images上的關鍵字/關鍵短語,並可選擇將圖像下載到您的計算機。你也可以從另一個python文件調用此腳本。
(GitHub: https://github.com/hardikvasa/google-images-download )
(9)YouTube-dl
youtube-dl 是基於 Python 的命令行媒體文件下載工具,完全開源免費跨平台。用戶只需使用簡單命令並提供在線視頻的網頁地址即可讓程序自動進行嗅探、下載、合並、命名和清理,最終得到已經命名的完整視頻文件。
(GitHub: htt ps://github.com/rg3/youtube-dl )
(10)System Design Primer
此repo是一個系統的資源集合,可幫助你了解如何大規模構建系統。
(GitHub: https://github.com/donnemartin/system-design-primer )
(11)Mask R-CNN
Mask R-CNN用於對象檢測和分割。這是對Python 3,Keras和TensorFlow的Mask R-CNN實現。該模型為圖像中對象的每個實例生成邊界框和分割蒙版。它基於特Feature Pyramid Network(FPN)和 ResNet101 backbone。
(GitHub: https://github.com/matterport/Mask_RCNN )
(12)Face Recognition
Face Recognition 是一個基於 Python 的人臉識別庫,使用十分簡便。這還提供了一個簡單的face_recognition命令行工具,可以讓您從命令行對圖像文件夾進行人臉識別!
(GitHub: https://github.com/ageitgey/face_recognition )
(13)snallygaster
用於掃描HTTP伺服器上的機密文件的工具。
(GitHub: https://github.com/hannob/snallygaster )
(14)Ansible
Ansible是一個極其簡單的IT自動化系統。它可用於配置管理,應用程序部署,雲配置,支持遠程任務執行和多節點發布 - 包括通過負載平衡器輕松實現零停機滾動更新等操作。
(GitHub: https://github.com/ansible/ansible )
(15)Detectron
Detectron是Facebook AI 研究院開源的的軟體系統,它實現了最先進的目標檢測演算法,包括Mask R-CNN。它是用Python編寫的,由Caffe2深度學習框架提供支持。
(16)asciinema
終端會話記錄器和asciinema.org的最佳搭檔。
(GitHub: https://github.com/asciinema/asciinema )
(17)HTTPie
HTTPie 是一個開源的命令行的 HTTP 工具包,其目標是使與Web服務的CLI交互盡可能人性化。它提供了一個簡單的http命令,允許使用簡單自然的語法發送任意HTTP請求,並顯示彩色輸出。HTTPie可用於測試,調試以及通常與HTTP伺服器交互。
(GitHub: https://github.com/jakubroztocil/httpie )
(18)You-Get
You-Get是一個小型命令行實用程序,用於從Web下載媒體內容(視頻,音頻,圖像),支持國內外常用的視頻網站。
(GitHub: https://github.com/soimort/you-get )
(19)Sentry
Sentry從根本上講是一項服務,可以幫助用戶實時監控和修復崩潰。基於Django構建,它包含一個完整的API,用於從任何語言、任何應用程序中發送事件。
(GitHub: https://github.com/getsentry/sentry )
(20)Tornado
Tornado是使用Python開發的全棧式(full-stack)Web框架和非同步網路庫,,最初是由FriendFeed上開發的。通過使用非阻塞網路I / O,Tornado可以擴展到數萬個開放連接,是long polling、WebSockets和其他需要為用戶維護長連接應用的理想選擇。
(GitHub: https://github.com/tornadoweb/tornado )
(21)Magenta
Magenta是一個探索機器學習在創造藝術和音樂過程中的作用的研究項目。這主要涉及開發新的深度學習和強化學習演算法,用於生成歌曲,圖像,繪圖等。但它也是構建智能工具和界面的探索,它允許藝術家和音樂家使用這些模型。
(GitHub: https://github.com/tensorflow/magenta )
(22)ZeroNet
ZeroNet是一個利用比特幣的加密演算法和BitTorrent技術提供的不受審查的網路,完全開源。
(GitHub: https://github.com/HelloZeroNet/ZeroNet )
(23)Gym
OpenAI Gym是一個用於開發和比較強化學習演算法的工具包。這是Gym的開源庫,可讓讓你訪問標准化的環境。
(GitHub: https://github.com/openai/gym )
(24)Pandas
Pandas是一個Python包,提供快速,靈活和富有表現力的數據結構,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。此外,它還有更廣泛的目標,即成為所有語言中最強大,最靈活的開源數據分析/操作工具。它目前已經朝著這個目標邁進。
(GitHub: https://github.com/pandas-dev/pandas )
(25)Luigi
Luigi 是一個 Python 模塊,可以幫你構建復雜的批量作業管道。處理依賴決議、工作流管理、可視化展示等等,內建 Hadoop 支持。(GitHub: https://github.com/spotify/luigi )
⑸ python gym 怎麼升級
可以通過棚絕pip或者easy_install方式肢扒安裝鏈飢姿:
pip install geopy easy_install geopy
或者通過從 PyPI下載wheel或源文件安裝!
⑹ Python gym模塊win7可以使用嗎
方法/步驟
1、在安裝模塊之前,你首先得緩隱安裝了setuptools。不懂爛舉的朋友可以參看我的經驗《python怎麼使用ez_setup.py 》就可以用ez_setup.py安裝了setuptools了。在這里就不多贅述。
2、有了setuptools,我們就要開始配置環境。因為你需要用到python安裝目錄下的Scripts文件夾裡面的文件。
3、到桌面,點擊計算機右鍵--屬性。
4、點擊「高級系統設置」。
5、點擊「環境變數」。
6、在系統變數一欄下拉,找到PATH,雙擊。
7、先在最後加一個分號;
8、然後再輸入 「你的python路徑」\Scripts。
9、比如我的python安裝路徑是D:\python2.7.6。
10、那麼我應該輸入D:\python2.7.6\Scripts。
11、設置完畢之後,就可以直接用命令行安裝模塊了。
12、比如我要安裝PIL模塊,只飢哪碧需要輸入easy_install PIL。
13、回車。
14、開始下載。
15、安裝成功。