You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.3 KiB
94 lines
2.3 KiB
2 years ago
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"import torch\n",
|
||
|
"\n",
|
||
|
"from shap_e.models.download import load_model\n",
|
||
|
"from shap_e.util.data_util import load_or_create_multimodal_batch\n",
|
||
|
"from shap_e.util.notebooks import create_pan_cameras, decode_latent_images, gif_widget"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"xm = load_model('transmitter', device=device)"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 3,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"model_path = \"example_data/cactus/object.obj\"\n",
|
||
|
"\n",
|
||
|
"# This may take a few minutes, since it requires rendering the model twice\n",
|
||
|
"# in two different modes.\n",
|
||
|
"batch = load_or_create_multimodal_batch(\n",
|
||
|
" device,\n",
|
||
|
" model_path=model_path,\n",
|
||
|
" mv_light_mode=\"basic\",\n",
|
||
|
" mv_image_size=256,\n",
|
||
|
" cache_dir=\"example_data/cactus/cached\",\n",
|
||
|
" verbose=True, # this will show Blender output during renders\n",
|
||
|
")"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"with torch.no_grad():\n",
|
||
|
" latent = xm.encoder.encode_to_bottleneck(batch)\n",
|
||
|
"\n",
|
||
|
" render_mode = 'stf' # you can change this to 'nerf'\n",
|
||
|
" size = 128 # recommended that you lower resolution when using nerf\n",
|
||
|
"\n",
|
||
|
" cameras = create_pan_cameras(size, device)\n",
|
||
|
" images = decode_latent_images(xm, latent, cameras, rendering_mode=render_mode)\n",
|
||
|
" display(gif_widget(images))"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"kernelspec": {
|
||
|
"display_name": "Python 3 (ipykernel)",
|
||
|
"language": "python",
|
||
|
"name": "python3"
|
||
|
},
|
||
|
"language_info": {
|
||
|
"codemirror_mode": {
|
||
|
"name": "ipython",
|
||
|
"version": 3
|
||
|
},
|
||
|
"file_extension": ".py",
|
||
|
"mimetype": "text/x-python",
|
||
|
"name": "python",
|
||
|
"nbconvert_exporter": "python",
|
||
|
"pygments_lexer": "ipython3",
|
||
|
"version": "3.9.9"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 5
|
||
|
}
|