GoogleColabはGoogleの提供するプラットフォームで、 誰でもブラウザ上で Pythonを記述、実行することができます。 機械学習、データ分析などに気軽に使うことができます。 無料ライセンスでも連続使用12時間までGPU(Tesla K80 or Tesla T4)を使うことが できるため、スペックの低いマシンでも生成AIの環境構築を行うことができます。
from PIL import Image
import torch
from tqdm.auto import tqdm
from point_e.diffusion.configs import DIFFUSION_CONFIGS, diffusion_from_config
from point_e.diffusion.sampler import PointCloudSampler
from point_e.models.download import load_checkpoint
from point_e.models.configs import MODEL_CONFIGS, model_from_config
from point_e.util.plotting import plot_point_cloud
画像生成準備
device = torch.device('cuda'if torch.cuda.is_available()else'cpu')print('creating base model...')
base_name ='base40M'# use base300M or base1B for better results
base_model = model_from_config(MODEL_CONFIGS[base_name], device)
base_model.eval()
base_diffusion = diffusion_from_config(DIFFUSION_CONFIGS[base_name])print('creating upsample model...')
upsampler_model = model_from_config(MODEL_CONFIGS['upsample'], device)
upsampler_model.eval()
upsampler_diffusion = diffusion_from_config(DIFFUSION_CONFIGS['upsample'])print('downloading base checkpoint...')
base_model.load_state_dict(load_checkpoint(base_name, device))print('downloading upsampler checkpoint...')
upsampler_model.load_state_dict(load_checkpoint('upsample', device))
from point_e.util.pc_to_mesh import marching_cubes_mesh
import skimage.measure
メッシュ化処理
device = torch.device('cuda'if torch.cuda.is_available()else'cpu')print('creating SDF model...')
name ='sdf'
model = model_from_config(MODEL_CONFIGS[name], device)
model.eval()print('loading SDF model...')
model.load_state_dict(load_checkpoint(name, device))
頂点カラーつきのメッシュに変換
# Produce a mesh(with vertex colors)
mesh =marching_cubes_mesh(
pc=pc,
model=model,
batch_size=4096,
grid_size=128,
# grid_size=32, # increase to 128for resolution used in evals
progress=True,)