Couches différenciables pour les graphiques.

import numpy as np
import tensorflow as tf
import trimesh

import tensorflow_graphics.geometry.transformation as tfg_transformation
from tensorflow_graphics.notebooks import threejs_visualization

# Download the mesh.
!wget https://storage.googleapis.com/tensorflow-graphics/notebooks/index/cow.obj
# Load the mesh.
mesh = trimesh.load("cow.obj")
mesh = {"vertices": mesh.vertices, "faces": mesh.faces}
# Visualize the original mesh.
threejs_visualization.triangular_mesh_renderer(mesh, width=400, height=400)
# Set the axis and angle parameters.
axis = np.array((0., 1., 0.))  # y axis.
angle = np.array((np.pi / 4.,))  # 45 degree angle.
# Rotate the mesh.
mesh["vertices"] = tfg_transformation.axis_angle.rotate(mesh["vertices"], axis,
                                                        angle).numpy()
# Visualize the rotated mesh.
threejs_visualization.triangular_mesh_renderer(mesh, width=400, height=400)
Exécuter dans un notebook
L'objectif de TensorFlow Graphics est de mettre des fonctions graphiques utiles à la disposition de la communauté des utilisateurs en proposant un ensemble de couches graphiques différenciables (caméras, modèles de réflectance, convolutions de maillage, etc.) et de fonctionnalités de visionneuse 3D (TensorBoard 3D, par exemple) pouvant être utilisées dans les modèles de machine learning de votre choix.

Au cours des dernières années, nous avons assisté à une augmentation du nombre de nouvelles couches graphiques différenciables pouvant être insérées dans les architectures de réseaux de neurones. Des transformateurs spatiaux aux moteurs de rendu graphique différenciables, ces nouvelles couches tirent profit des connaissances acquises au fil des années dans le domaine de la vision par ordinateur et de la recherche graphique pour créer des architectures réseau innovantes et plus efficaces. La modélisation explicite de contraintes et de propriétés géométriques antérieures dans des modèles de machine learning permet de concevoir des architectures qui peuvent être entraînées de manière fiable, efficace et, surtout, autocontrôlée.

Pour commencer, consultez une présentation plus détaillée, le guide d'installation et l'API.