All Projects → zacwellmer → Worldmodels

zacwellmer / Worldmodels

World Models with TensorFlow 2

Projects that are alternatives of or similar to Worldmodels

Umich Eecs545 Lectures
This repository contains the lecture materials for EECS 545, a graduate course in Machine Learning, at the University of Michigan, Ann Arbor.
Stars: ✭ 186 (+0.54%)
Mutual labels:  jupyter-notebook
Topography atlas of space
Code and instructions for making topographic maps of planets and moons
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Mipt data mining in action 2016
"Data Mining in Action Course", Moscow Institute of Physics and Technologies
Stars: ✭ 188 (+1.62%)
Mutual labels:  jupyter-notebook
Monodepth2
[ICCV 2019] Monocular depth estimation from a single image
Stars: ✭ 2,714 (+1367.03%)
Mutual labels:  jupyter-notebook
Deep Learning Tensorflow2
基于Tensorflow2的深度学习开源书籍
Stars: ✭ 184 (-0.54%)
Mutual labels:  jupyter-notebook
Deepaugment
Discover augmentation strategies tailored for your dataset
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Choochoo
Training Diary
Stars: ✭ 186 (+0.54%)
Mutual labels:  jupyter-notebook
Catalogos Dados Brasil
Mapeamento de iniciativas (e catálogos) de dados abertos governamentais no Brasil.
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Microsoft Student Partner Workshop Learning Materials Ai Nlp
This repository contains all codes and materials of the current session. It contains the required code on Natural Language Processing, Artificial intelligence.
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Stylenet
A cute multi-layer LSTM that can perform like a human 🎶
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Lgo
Interactive Go programming with Jupyter
Stars: ✭ 2,225 (+1102.7%)
Mutual labels:  jupyter-notebook
Virgilio
Virgilio is developed and maintained by these awesome people. You can email us virgilio.datascience (at) gmail.com or join the Discord chat.
Stars: ✭ 13,200 (+7035.14%)
Mutual labels:  jupyter-notebook
Learning Content
Resources for the study group in IIT Guwahati focused on learning Artificial Intelligence.
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Dtale
Visualizer for pandas data structures
Stars: ✭ 2,864 (+1448.11%)
Mutual labels:  jupyter-notebook
Juliacoursenotebooks
Jupyter notebooks for the Julia Scientific Programming course on Coursera
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
P1 facial keypoints
First project for CVND: facial keypoint detection.
Stars: ✭ 186 (+0.54%)
Mutual labels:  jupyter-notebook
Multiresunet
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Ghapi
A delightful and complete interface to GitHub's amazing API
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Kaggle Playground
Jupyter notebooks and code examples for my Kaggle Beginners' Guide.
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook
Lidc nodule detection
lidc nodule detection with CNN and LSTM network
Stars: ✭ 187 (+1.08%)
Mutual labels:  jupyter-notebook

World Models

This repo reproduces the original implementation of World Models. This implementation uses TensorFlow 2.2.

Docker

The easiest way to handle dependencies is with Nvidia-Docker. Follow the instructions below to generate and attach to the container.

docker image build -t wm:1.0 -f docker/Dockerfile.wm .
docker container run -p 8888:8888 --gpus '"device=0"' --detach -it --name wm wm:1.0
docker attach wm

Visualizations

To visualize the environment from the agents perspective or generate synthetic observations use the visualizations jupyter notebook. It can be launched from your container with the following:

jupyter notebook --no-browser --port=8888 --ip=0.0.0.0 --allow-root
Real Frame Sample Reconstructed Real Frame Imagined Frame
alt-text-1 alt-text-2 alt-text-3
Ground Truth (CarRacing) Reconstructed
drawing drawing
Ground Truth Environment (DoomTakeCover) Dream Environment
drawing drawing

Reproducing Results From Scratch

These instructions assume a machine with a 64 core cpu and a gpu. If running in the cloud it will likely financially make more sense to run the extraction and controller processes on a cpu machine and the VAE, preprocessing, and RNN tasks on a GPU machine.

DoomTakeCover-v0

CAUTION The doom environment leaves some processes hanging around. In addition to running the doom experiments, the script kills processes including 'vizdoom' in the name (be careful with this if you are not running in a container). To reproduce results for DoomTakeCover-v0 run the following bash script.

bash launch_scripts/wm_doom.bash

CarRacing-v0

To reproduce results for CarRacing-v0 run the following bash script

bash launch_scripts/carracing.bash

Disclaimer

I have not run this for long enough(~45 days wall clock time) to verify that we produce the same results on CarRacing-v0 as the original implementation.

Average return curves comparing the original implementation and ours. The shaded area represents a standard deviation above and below the mean.

alt text

For simplicity, the Doom experiment implementation is slightly different than the original

  • We do not use weighted cross entropy loss for done predictions
  • We train the RNN with sequences that always begin at the start of an episode (as opposed to random subsequences)
  • We sample whether the agent dies (as opposed to a deterministic cut-off)
\tau Returns Dream Environment        Returns Actual Environment       
D. Ha Original 1.0 1145 +/- 690 868 +/- 511
Eager 1.0 1465 +/- 633 849 +/- 499
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].