Skip to content

Conversation

ugurkanates
Copy link

Proposed change(s)

Given issue #3984 and removal of Jupyter Notebooks from repository , I saw developers were chatting for a Colab API explanatory notebook.
Well I have set up just that. Which shows how to use low level Python API and randomly moves in environments. It works both for continuous and discrete environments

I have a question about where to store / if to store headless binaries that are needed for this.
In current version I have uploaded whole binary+ data files to my repository. I didn't include them in here due size but given solution technique I can upload them.

These binaries build with latest version of each package ( C#Unity com Package , release 1.0 Python packages)

Useful links (Github issues, JIRA tickets, ML-Agents forum threads etc.)

https://forum.unity.com/threads/ml-agents-release-1-april-30-2020-discussion-thread.882919/
#3984

Types of change(s)

  • Bug fix
  • New feature
  • Code refactor
  • Breaking change
  • Documentation update
  • Other (please describe)

Checklist

  • Added tests that prove my fix is effective or that my feature works
  • Updated the changelog (if applicable)
  • Updated the documentation (if applicable)
  • Updated the migration guide (if applicable)

Other comments

After a code review & how to store binaries I can update notebook and README.md

@awjuliani
Copy link
Contributor

Hi @ugurkanates

Thanks for making this PR. We actually have another open PR which will hopefully provide just the functionality needed to easily download binaries from the python api itself. It is still being worked on, but it should perfectly complement the work you have here: #3967

@ugurkanates
Copy link
Author

@awjuliani Yeah that should fix storage problem relating to binaries. I will keep eye on that PR

@ugurkanates
Copy link
Author

@awjuliani

So I was updating notebook to work with current registry system(that's available in master branch).
But couldn't find a file provider to hold files with their original file prefixes. I was trying Google Drive but that doesn't provide a file prefix. Only their convoluted codenames for upload.

Also for example I uploaded one for continuous actions and one for discrete actions but yeah.
Hope you guys can help with hosting these files in Google Cloud services you have.

Another thing was depending on situation I will have one Notebook file and one yaml. If Colab examples added to default registry I wouldn't need yaml. Current default registry ones are all built with visual servers which doesn't work with headless Google Colab services.

Headless versions work fine(I provided zips below). So if uploading them to Google Cloud Buckets and adding them to yaml is possible that would be nice.

Where should Colab notebook be hold in repository by the way? couldn't find a proper place for it honestly. I was even thinking dropping into main repository files along with readme
Utils and Docs also could be a possibility but yeah.

[](environments:

@awjuliani
Copy link
Contributor

Hi @ugurkanates

I am assigning @vincentpierre to this issue, as he has been working on the registry solution, and doing some experimentation with colab notebooks.

@vincentpierre
Copy link
Contributor

Hi,

I made this notebook on colab and I would like to know if it satisfies your use case. I am using the binaries hosted on the default registry and using a virtual frame buffer with xvfb to render.
If this solution works, we can use regular environments on hosted and local colab

@ugurkanates
Copy link
Author

@vincentpierre It works perfectly

@vincentpierre
Copy link
Contributor

I merged #4117 which adds links to 3 google colab notebooks to serve as tutorial. Closing this now.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants