mpirotta
commited on
Commit
•
6c21666
0
Parent(s):
Initial commit
Browse files- .gitattributes +39 -0
- README.md +63 -0
- config.json +44 -0
- data/buffer.hdf5 +3 -0
- data/buffer_inference_500000.hdf5 +3 -0
- model.safetensors +3 -0
.gitattributes
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
datasets/buffer.hdf5 filter=lfs diff=lfs merge=lfs -text
|
37 |
+
datasets/buffer_inference_500000.hdf5 filter=lfs diff=lfs merge=lfs -text
|
38 |
+
data/buffer.hdf5 filter=lfs diff=lfs merge=lfs -text
|
39 |
+
data/buffer_inference_500000.hdf5 filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
library_name: metamotivo
|
3 |
+
license: cc-by-nc-4.0
|
4 |
+
tags:
|
5 |
+
- facebook
|
6 |
+
- meta
|
7 |
+
- pytorch
|
8 |
+
seed: 1
|
9 |
+
repo_url: https://github.com/facebookresearch/metamotivo
|
10 |
+
docs_url: https://metamotivo.metademolab.com/
|
11 |
+
---
|
12 |
+
|
13 |
+
# Meta Motivo M
|
14 |
+
|
15 |
+
Meta Motivo is a behavioral foundation model pre-trained with a novel unsupervised reinforcement learning algorithm to control the movements of a complex virtual humanoid agent. At test time, our model can be prompted to solve unseen tasks such as motion tracking, pose reaching, and reward optimization without any additional learning or fine-tuning.
|
16 |
+
|
17 |
+
Meta Motivo M is our largest and most performant model. It is pretrained as described in the paper ["Zero-shot Whole-Body Humanoid Control via Behavioral Foundation Models"](https://metamotivo.metademolab.com/), and it can be interactively tested in our [demo](https://metamotivo.metademolab.com/).
|
18 |
+
|
19 |
+
**Model Developer:** Meta
|
20 |
+
|
21 |
+
# Model Details
|
22 |
+
|
23 |
+
Meta Motivo is composed of multiple networks
|
24 |
+
- forward net \\(F(s,a,z)\\)
|
25 |
+
- backward net \\(B(s)\\)
|
26 |
+
- actor net \\(\pi(s,z)\\)
|
27 |
+
- discriminator net \\(D(s,z)\\)
|
28 |
+
- critic net \\(Q(s,a,z)\\)
|
29 |
+
|
30 |
+
### Network architectures
|
31 |
+
|
32 |
+
**Forward, actor, and critic.** All these networks are MLPs composed of a sequence of residual blocks similar to those employed in modern transformer architectures. Each residual block involves a layernorm followed by a linear layer with 2048 hidden units, a Mish activation function, and a residual connection. The networks have two initial "embedding layers", one processing `(s,z)`, and the other processing `s` alone. The second embedding layer has half the hidden units of the first layer, and their outputs are concatenated and fed into the main MLP. We use 2 residual blocks for the embedding layers and 12 residual blocks for the main MLP. The actor network outputs the mean of a Gaussian distribution with fixed standard deviation, while the forward and critic networks output a d-dimensional vector and a scalar, respectively. The two latter networks use an ensemble of two networks.
|
33 |
+
|
34 |
+
**Backward.** The backward map is a simple MLP composed of a layernorm operation, a linear layer with 256 hidden units, a tanh activation function, and another linear layer which outputs a d-dimensional vector that is then normalized in l2-norm.
|
35 |
+
|
36 |
+
**Discriminator.** The discriminator is an MLP with 3 hidden layers of 1024 units and ReLU activations, except for the first hidden layer which uses a layernorm followed by tanh. It takes as input a state observation `s` and a latent variable `z`, and has a sigmoidal unit at the output.
|
37 |
+
|
38 |
+
See the `config.json` file for more details.
|
39 |
+
|
40 |
+
## How to use
|
41 |
+
|
42 |
+
```bash
|
43 |
+
> pip install "metamotivo[all] @ git+https://github.com/facebookresearch/metamotivo.git"
|
44 |
+
```
|
45 |
+
and then
|
46 |
+
```python
|
47 |
+
from metamotivo.fb_cpr.huggingface import FBcprModel
|
48 |
+
|
49 |
+
model = FBcprModel.from_pretrained("facebook/metamotivo-M-1")
|
50 |
+
```
|
51 |
+
|
52 |
+
# Citation
|
53 |
+
|
54 |
+
If you find our code useful for your research, please consider citing:
|
55 |
+
|
56 |
+
@article{tirinzoni2024metamotivo,
|
57 |
+
title={Zero-shot Whole-Body Humanoid Control via Behavioral Foundation Models},
|
58 |
+
author={Tirinzoni, Andrea and Touati, Ahmed and Farebrother, Jesse and Guzek, Mateusz and Kanervisto, Anssi and Xu, Yingchen and Lazaric, Alessandro and Pirotta, Matteo},
|
59 |
+
}
|
60 |
+
|
61 |
+
# License
|
62 |
+
|
63 |
+
Meta Motivo is CC-BY-NC 4.0 licensed as of now.
|
config.json
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"obs_dim": 358,
|
3 |
+
"action_dim": 69,
|
4 |
+
"device": "cpu",
|
5 |
+
"archi": {
|
6 |
+
"z_dim": 256,
|
7 |
+
"norm_z": true,
|
8 |
+
"f": {
|
9 |
+
"hidden_dim": 2048,
|
10 |
+
"model": "residual",
|
11 |
+
"hidden_layers": 12,
|
12 |
+
"embedding_layers": 2,
|
13 |
+
"num_parallel": 2,
|
14 |
+
"ensemble_mode": "batch"
|
15 |
+
},
|
16 |
+
"b": {
|
17 |
+
"hidden_dim": 256,
|
18 |
+
"hidden_layers": 1,
|
19 |
+
"norm": true
|
20 |
+
},
|
21 |
+
"actor": {
|
22 |
+
"hidden_dim": 2048,
|
23 |
+
"model": "residual",
|
24 |
+
"hidden_layers": 12,
|
25 |
+
"embedding_layers": 2
|
26 |
+
},
|
27 |
+
"critic": {
|
28 |
+
"hidden_dim": 2048,
|
29 |
+
"model": "residual",
|
30 |
+
"hidden_layers": 12,
|
31 |
+
"embedding_layers": 2,
|
32 |
+
"num_parallel": 2,
|
33 |
+
"ensemble_mode": "batch"
|
34 |
+
},
|
35 |
+
"discriminator": {
|
36 |
+
"hidden_dim": 1024,
|
37 |
+
"hidden_layers": 3
|
38 |
+
}
|
39 |
+
},
|
40 |
+
"inference_batch_size": 500000,
|
41 |
+
"seq_length": 8,
|
42 |
+
"actor_std": 0.2,
|
43 |
+
"norm_obs": true
|
44 |
+
}
|
data/buffer.hdf5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4bbefaaf2bc248e24fa6d9d233ae770fc507f5f120241f754bfcdaf5177955fc
|
3 |
+
size 19834241408
|
data/buffer_inference_500000.hdf5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:23b44eac69b8c7692c3e85f4cbe703fbe28ea0347822fe3f8c46a6c247107879
|
3 |
+
size 2778004096
|
model.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:de218e57f080c0996b6f4e0f036ca02007363591f333e84fb7e6e729a8301124
|
3 |
+
size 1150842208
|