diff --git a/.DS_Store b/.DS_Store index f61a22f..841af36 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md deleted file mode 100644 index 26fff3a..0000000 --- a/README.md +++ /dev/null @@ -1,77 +0,0 @@ -[//]: # (Image References) - -[image1]: https://user-images.githubusercontent.com/10624937/42135602-b0335606-7d12-11e8-8689-dd1cf9fa11a9.gif "Trained Agents" -[image2]: https://user-images.githubusercontent.com/10624937/42386929-76f671f0-8106-11e8-9376-f17da2ae852e.png "Kernel" - -# Value-Based Methods - -![Trained Agents][image1] - -This repository contains material related to Udacity's Value-based Methods course. - -## Table of Contents - -### Tutorials - -The tutorials lead you through implementing various algorithms in reinforcement learning. All of the code is in PyTorch (v0.4) and Python 3. - -* [Deep Q-Network](https://github.com/udacity/Value-based-methods/tree/main/dqn): Explore how to use a Deep Q-Network (DQN) to navigate a space vehicle without crashing. - -### Labs / Projects - -The labs and projects can be found below. All of the projects use rich simulation environments from [Unity ML-Agents](https://github.com/Unity-Technologies/ml-agents). - -* [Navigation](https://github.com/udacity/Value-based-methods/tree/main/p1_navigation): In the first project, you will train an agent to collect yellow bananas while avoiding blue bananas. - -### Resources - -* [Cheatsheet](https://github.com/udacity/Value-based-methods/tree/main/cheatsheet): You are encouraged to use [this PDF file](https://github.com/udacity/Value-based-methods/blob/main/cheatsheet/cheatsheet.pdf) to guide your study of reinforcement learning. - -## OpenAI Gym Benchmarks - -### Box2d -- `LunarLander-v2` with [Deep Q-Networks (DQN)](https://github.com/udacity/Value-based-methods/blob/main/dqn/solution/Deep_Q_Network_Solution.ipynb) | solved in 1504 episodes - -## Dependencies - -To set up your python environment to run the code in this repository, follow the instructions below. - -1. Create (and activate) a new environment with Python 3.6. - - - __Linux__ or __Mac__: - ```bash - conda create --name drlnd python=3.6 - source activate drlnd - ``` - - __Windows__: - ```bash - conda create --name drlnd python=3.6 - activate drlnd - ``` - -2. Follow the instructions in [this repository](https://github.com/openai/gym) to perform a minimal install of OpenAI gym. - - Install the **box2d** environment group by following the instructions [here](https://github.com/openai/gym#box2d). - -3. Clone the repository (if you haven't already!), and navigate to the `python/` folder. Then, install several dependencies. -```bash -git clone https://github.com/udacity/Value-based-methods.git -cd Value-based-methods/python -pip install . -``` - -4. Create an [IPython kernel](http://ipython.readthedocs.io/en/stable/install/kernel_install.html) for the `drlnd` environment. -```bash -python -m ipykernel install --user --name drlnd --display-name "drlnd" -``` - -5. Before running code in a notebook, change the kernel to match the `drlnd` environment by using the drop-down `Kernel` menu. - -![Kernel][image2] - -## Want to learn more? - -
Come learn with us in the Deep Reinforcement Learning Nanodegree program at Udacity!
- -
-
-
|
+
+Overview + +Service Description + +Client proxy + + + |
+
+<% if (CurrentPage == "main") {%>
+
+
+
+ Web Service Overview + <%=WebServiceDescription%> + +<%} if (DefaultBinding == null) {%> +This service does not contain any public web method. +<%} else if (CurrentPage == "op") {%> + + + + <%=CurrentOperationName%> ++ <% WriteTabs (); %> + + + <% if (CurrentTab == "main") { %> + Input Parameters + + <% if (InParams.Count == 0) { %> + No input parameters + <% } else { %> +
+ + <% if (OutParams.Count > 0) { %> + Output Parameters + +
+ <% } %> + + Remarks + + <%=OperationDocumentation%> + + Technical information + + Format: <%=CurrentOperationFormat%> + Supported protocols: <%=CurrentOperationProtocols%> + <% } %> + + + + <% if (CurrentTab == "test") { + if (CurrentOperationSupportsTest) {%> + Enter values for the parameters and click the 'Invoke' button to test this method: + + ">
+ The web service returned the following result:
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ + <%=GetTestResult()%>
+ + + <% if (IsOperationSupported ("Soap")) { %> + Soap + + <%=GenerateOperationMessages ("Soap", true)%> + <%=GenerateOperationMessages ("Soap", false)%> + <% } %> + <% if (IsOperationSupported ("HttpGet")) { %> + HTTP Get + + <%=GenerateOperationMessages ("HttpGet", true)%> + <%=GenerateOperationMessages ("HttpGet", false)%> + <% } %> + <% if (IsOperationSupported ("HttpPost")) { %> + HTTP Post + + <%=GenerateOperationMessages ("HttpPost", true)%> + <%=GenerateOperationMessages ("HttpPost", false)%> + <% } %> + + <% } %> +<%} else if (CurrentPage == "proxy") {%> + + + + <%=CurrentProxytName%> + ">Download + +
+
+<%} else if (CurrentPage == "wsdl") {%>
+
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <%=GetProxyCode ()%>
+
+ <%=CurrentDocumentName%> + ">Download + +
+
+
+<%}%>
+
+<%=GenerateDocument ()%>
+ + |
++ |
|
+
+Overview + +Service Description + +Client proxy + + + |
+
+<% if (CurrentPage == "main") {%>
+
+
+
+ Web Service Overview + <%=WebServiceDescription%> ++ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %> + Basic Profile Conformance + This web service does not conform to WS-I Basic Profile v1.1 + <% + Response.Write ("
+ <% WriteTabs (); %> + + + <% if (CurrentTab == "main") { %> + Input Parameters + + <% if (InParams.Count == 0) { %> + No input parameters + <% } else { %> +
+ + <% if (OutParams.Count > 0) { %> + Output Parameters + +
+ <% } %> + + Remarks + + <%=OperationDocumentation%> + + Technical information + + Format: <%=CurrentOperationFormat%> + Supported protocols: <%=CurrentOperationProtocols%> + <% } %> + + + + <% if (CurrentTab == "test") { + if (CurrentOperationSupportsTest) {%> + Enter values for the parameters and click the 'Invoke' button to test this method: + + ">
+ The web service returned the following result:
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ +
+
+
+ + + <% if (IsOperationSupported ("Soap")) { %> + Soap + + <%=GenerateOperationMessages ("Soap", true)%> + <%=GenerateOperationMessages ("Soap", false)%> + <% } %> + <% if (IsOperationSupported ("HttpGet")) { %> + HTTP Get + + <%=GenerateOperationMessages ("HttpGet", true)%> + <%=GenerateOperationMessages ("HttpGet", false)%> + <% } %> + <% if (IsOperationSupported ("HttpPost")) { %> + HTTP Post + + <%=GenerateOperationMessages ("HttpPost", true)%> + <%=GenerateOperationMessages ("HttpPost", false)%> + <% } %> + + <% } %> +<%} else if (CurrentPage == "proxy") {%> + + + + <%=CurrentProxytName%> + ">Download + +
+
+<%} else if (CurrentPage == "wsdl") {%>
+
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <%=GetProxyCode ()%>
+
+ <%=CurrentDocumentName%> + ">Download + +
+
+
+<%}%>
+
+<%=GenerateDocument ()%>
+ + |
++ |
|
+
+Overview + +Service Description + +Client proxy + + + |
+
+<% if (CurrentPage == "main") {%>
+
+
+
+ Web Service Overview + <%=WebServiceDescription%> ++ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %> + Basic Profile Conformance + This web service does not conform to WS-I Basic Profile v1.1 + <% + Response.Write ("
+ <% WriteTabs (); %> + + + <% if (CurrentTab == "main") { %> + Input Parameters + + <% if (InParams.Count == 0) { %> + No input parameters + <% } else { %> +
+ + <% if (OutParams.Count > 0) { %> + Output Parameters + +
+ <% } %> + + Remarks + + <%=OperationDocumentation%> + + Technical information + + Format: <%=CurrentOperationFormat%> + Supported protocols: <%=CurrentOperationProtocols%> + <% } %> + + + + <% if (CurrentTab == "test") { + if (CurrentOperationSupportsTest) {%> + Enter values for the parameters and click the 'Invoke' button to test this method: + + ">
+ The web service returned the following result:
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ +
+
+
+ + + <% if (IsOperationSupported ("Soap")) { %> + Soap + + <%=GenerateOperationMessages ("Soap", true)%> + <%=GenerateOperationMessages ("Soap", false)%> + <% } %> + <% if (IsOperationSupported ("HttpGet")) { %> + HTTP Get + + <%=GenerateOperationMessages ("HttpGet", true)%> + <%=GenerateOperationMessages ("HttpGet", false)%> + <% } %> + <% if (IsOperationSupported ("HttpPost")) { %> + HTTP Post + + <%=GenerateOperationMessages ("HttpPost", true)%> + <%=GenerateOperationMessages ("HttpPost", false)%> + <% } %> + + <% } %> +<%} else if (CurrentPage == "proxy") {%> + + + + <%=CurrentProxytName%> + ">Download + +
+
+<%} else if (CurrentPage == "wsdl") {%>
+
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <%=GetProxyCode ()%>
+
+ <%=CurrentDocumentName%> + ">Download + +
+
+
+<%}%>
+
+<%=GenerateDocument ()%>
+ + |
++ |
|
+
+Overview + +Service Description + +Client proxy + + + |
+
+<% if (CurrentPage == "main") {%>
+
+
+
+ Web Service Overview + <%=WebServiceDescription%> ++ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %> + Basic Profile Conformance + This web service does not conform to WS-I Basic Profile v1.1 + <% + Response.Write ("
+ <% WriteTabs (); %> + + + <% if (CurrentTab == "main") { %> + Input Parameters + + <% if (InParams.Count == 0) { %> + No input parameters + <% } else { %> +
+ + <% if (OutParams.Count > 0) { %> + Output Parameters + +
+ <% } %> + + Remarks + + <%=OperationDocumentation%> + + Technical information + + Format: <%=CurrentOperationFormat%> + Supported protocols: <%=CurrentOperationProtocols%> + <% } %> + + + + <% if (CurrentTab == "test") { + if (CurrentOperationSupportsTest) {%> + Enter values for the parameters and click the 'Invoke' button to test this method: + + ">
+ The web service returned the following result:
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ +
+
+
+ + + <% if (IsOperationSupported ("Soap")) { %> + Soap + + <%=GenerateOperationMessages ("Soap", true)%> + <%=GenerateOperationMessages ("Soap", false)%> + <% } %> + <% if (IsOperationSupported ("HttpGet")) { %> + HTTP Get + + <%=GenerateOperationMessages ("HttpGet", true)%> + <%=GenerateOperationMessages ("HttpGet", false)%> + <% } %> + <% if (IsOperationSupported ("HttpPost")) { %> + HTTP Post + + <%=GenerateOperationMessages ("HttpPost", true)%> + <%=GenerateOperationMessages ("HttpPost", false)%> + <% } %> + + <% } %> +<%} else if (CurrentPage == "proxy") {%> + + + + <%=CurrentProxytName%> + ">Download + +
+
+<%} else if (CurrentPage == "wsdl") {%>
+
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <%=GetProxyCode ()%>
+
+ <%=CurrentDocumentName%> + ">Download + +
+
+
+<%}%>
+
+<%=GenerateDocument ()%>
+ + |
++ |
|
+
+Overview + +Service Description + +Client proxy + + + |
+
+<% if (CurrentPage == "main") {%>
+
+
+
+ Web Service Overview + <%=WebServiceDescription%> ++ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %> + Basic Profile Conformance + This web service does not conform to WS-I Basic Profile v1.1 + <% + Response.Write ("
+ <% WriteTabs (); %> + + + <% if (CurrentTab == "main") { %> + Input Parameters + + <% if (InParams.Count == 0) { %> + No input parameters + <% } else { %> +
+ + <% if (OutParams.Count > 0) { %> + Output Parameters + +
+ <% } %> + + Remarks + + <%=OperationDocumentation%> + + Technical information + + Format: <%=CurrentOperationFormat%> + Supported protocols: <%=CurrentOperationProtocols%> + <% } %> + + + + <% if (CurrentTab == "test") { + if (CurrentOperationSupportsTest) {%> + Enter values for the parameters and click the 'Invoke' button to test this method: + + ">
+ The web service returned the following result:
+ <% } else {%>
+ The test form is not available for this operation because it has parameters with a complex structure.
+ <% } %>
+ <% } %>
+
+
+
+ <% if (CurrentTab == "msg") { %>
+
+ The following are sample SOAP requests and responses for each protocol supported by this method:
+ +
+
+
+ + + <% if (IsOperationSupported ("Soap")) { %> + Soap + + <%=GenerateOperationMessages ("Soap", true)%> + <%=GenerateOperationMessages ("Soap", false)%> + <% } %> + <% if (IsOperationSupported ("HttpGet")) { %> + HTTP Get + + <%=GenerateOperationMessages ("HttpGet", true)%> + <%=GenerateOperationMessages ("HttpGet", false)%> + <% } %> + <% if (IsOperationSupported ("HttpPost")) { %> + HTTP Post + + <%=GenerateOperationMessages ("HttpPost", true)%> + <%=GenerateOperationMessages ("HttpPost", false)%> + <% } %> + + <% } %> +<%} else if (CurrentPage == "proxy") {%> + + + + <%=CurrentProxytName%> + ">Download + +
+
+<%} else if (CurrentPage == "wsdl") {%>
+
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
+ The description of this web service is composed by several documents. Click on the document you want to see:
+
+ <%=GetProxyCode ()%>
+
+ <%=CurrentDocumentName%> + ">Download + +
+
+
+<%}%>
+
+<%=GenerateDocument ()%>
+ + |
++ |