Nueva serie de blogs: memorias de un desarrollador de TorchVision

  • 21 de agosto de 2021
  • Vasilis Vryniotis
  • . Sin comentarios
Nueva serie de blogs memorias de un desarrollador de TorchVision

Estoy comenzando una nueva serie de publicaciones de blog sobre el desarrollo de la biblioteca de visión artificial de PyTorch. Planeo discutir próximas características interesantes principalmente de TorchVision y secundaria del ecosistema PyTorch. Mi objetivo es resaltar las funciones nuevas y en desarrollo y brindar claridad sobre lo que sucede entre los lanzamientos. Aunque es probable que el formato cambie con el tiempo, inicialmente planeo mantenerlo pequeño y ofrecer referencias para aquellos que quieran profundizar más. Finalmente, en lugar de publicar artículos en intervalos fijos, publicaré cuando tenga suficientes temas interesantes para cubrir.

Descargo de responsabilidad: Las características cubiertas estarán sesgadas hacia los temas que personalmente me interesan. El ecosistema de PyTorch es enorme y solo tengo visibilidad sobre una pequeña parte de él. Cubrir (o no cubrir) una característica no dice nada sobre su importancia. Las opiniones expresadas son únicamente mías.

Con eso fuera del camino, veamos qué se está cocinando:

Suavizado de etiquetas para pérdida de entropía cruzada

Una función muy solicitada en PyTorch es apoyar objetivos blandos y añadir una opción de suavizado de etiquetas en la pérdida de entropía cruzada. Ambas funciones tienen como objetivo facilitar el suavizado de etiquetas, y la primera opción ofrece más flexibilidad cuando se usan técnicas de aumento de datos como confusión/mezcla cortada se utilizan y el segundo es más eficaz para los casos simples. La opción de objetivos suaves ya ha sido fusionado en maestro por Joel Schlosser mientras que la opción label_smoothing es siendo desarrollado por Thomas J. Fan y actualmente está bajo revisión.

Nuevo programador de calentamiento

El calentamiento de la tasa de aprendizaje es una técnica común utilizada cuando se entrenan modelos, pero hasta ahora PyTorch no ofrecía una solución lista para usar. Recientemente, Ilqar Ramazanli ha introducido un nuevo programador que admite calentamiento lineal y constante. Actualmente en progreso es el trabajo en torno a mejorar la cadena-capacidad y combinación de programadores existentes.

TorchVision con “Baterías incluidas”

Esta mitad estamos trabajando para agregar en TorchVision modelos populares, pérdidas, planificadores, aumentos de datos y otras utilidades utilizadas para lograr resultados de última generación. Este proyecto se llama acertadamente “Baterias incluidas” y actualmente en progreso.

A principios de esta semana, he agregó una nueva capa llamó Profundidad estocástica que se puede utilizar para soltar aleatoriamente ramas residuales en arquitecturas residuales. Actualmente estoy trabajando en agregando una implementación de la popular arquitectura de red llamada EfficientNet. Finalmente, Allen Goodman es corrientemente agregando un nuevo operador que permitirá convertir Máscaras de segmentación para cuadros delimitadores.

Otras funciones en desarrollo

Aunque constantemente realizamos mejoras incrementales en la documentación, la infraestructura de CI y la calidad general del código, a continuación destaco algunas de las «orientadas al usuario» elementos de la hoja de ruta que están en desarrollo:

¡Eso es todo! Espero que lo hayas encontrado interesante. Cualquier idea sobre cómo adaptar el formato o qué temas cubrir son muy bienvenidas. Golpéame en LinkedIn o Gorjeo.



Fuente del artículo

Deja un comentario