Livelli differenziabili per la grafica.

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)
Obiettivi tensorflow grafica a fare utili funzioni grafiche ampiamente accessibili alla comunità, fornendo una serie di livelli di grafica differenziabili (ad esempio le macchine fotografiche, i modelli di riflettanza, maglia circonvoluzioni) e le funzionalità del visualizzatore 3D (ad esempio 3D TensorBoard) che possono essere utilizzati nel machine learning modelli di scelta.

Gli ultimi anni hanno visto un aumento di nuovi livelli grafici differenziabili che possono essere inseriti nelle architetture di reti neurali. Dai trasformatori spaziali ai renderer grafici differenziabili, questi nuovi livelli sfruttano le conoscenze acquisite in anni di visione artificiale e ricerca grafica per costruire architetture di rete nuove e più efficienti. La modellazione esplicita di precedenti e vincoli geometrici in modelli di apprendimento automatico apre le porte ad architetture che possono essere addestrate in modo robusto, efficiente e, cosa più importante, in modo auto-supervisionato.

Per iniziare a vedere un più dettagliata panoramica , la guida all'installazione e l'API .