Numpy and Tensorflow implementation of SMPL model. GitHub link: SMPL.


I wrote this because the author-provided implementation was mainly based on chumpy in Python 2, which is kind of unpopular. Meanwhile, the official one cannot run on GPU.

This numpy version is faster (since some computation is re-wrote in a vectorized manner) and easier to understand (hope so), and the tensorflow version can run on GPU.

For more details about SMPL model, see SMPL paper.


  1. Download the model file here.
  2. Run python /PATH/TO/THE/DOWNLOADED/MODEL to preprocess the official model. will create a new file model.pkl. and both rely on model.pkl. NOTE: the official pickle model contains chumpy object, so requires chumpy to extract official model. You need to modify chumpy’s cource code a little bit to make it compatible to (and Python 3). Here is an instruction in Chinese about this.
  3. Run python or python to see the example.