Este es el código correspondiente para el libro "Deep Learning Framework Pytorch: Comenzando y practicar (2ª edición)", pero también se puede utilizar como una guía y tutorial de principiantes de Pytorch independientes.
Nueva actualización
La segunda edición de este libro se ha actualizado recientemente en función de la primera edición, y el código del libro está escrito en base a la primera edición de Pytorch versión 1.8. Se ha actualizado exhaustivamente en combinación con las opiniones de los lectores de la primera edición, incluidos tres módulos: uso básico, expansión avanzada y aplicaciones prácticas.
contenido
El contenido de este libro (tutorial/repositorio) se muestra en la figura:
Se puede ver que este tutorial se puede dividir en tres partes:
Uso básico (Capítulo 2 a 5) explica el contenido de Pytorch. Esta parte introduce los módulos principales en Pytorch y algunas herramientas de uso común en el aprendizaje profundo. Para esta parte del contenido, aquí usamos Jupyter Notebook como herramienta de enseñanza, y los lectores pueden modificar y ejecutar el cuaderno y experimentar repetidamente.
- El Capítulo 2 presenta la instalación de Pytorch y la configuración de entornos de aprendizaje relacionados. Al mismo tiempo, este capítulo introduce el contenido principal de Pytorch de manera esquiva para ayudar a los lectores a obtener una comprensión preliminar de Pytorch.
- El Capítulo 3 introduce el uso de tensor de matriz multidimensional y autogrado del sistema diferencial automático en Pytorch, y da ejemplos de cómo usar Tensor y Autograd para lograr una regresión lineal y comparar sus diferencias. Este capítulo analiza la estructura básica del tensor y los principios de Autograd para ayudar a los lectores a comprender los módulos subyacentes de Pytorch de manera más exhaustiva.
- El Capítulo 4 presenta el uso básico del módulo de red neuronal en Pytorch, explica las capas, las funciones de activación, las funciones de pérdida y los optimizadores en la red neuronal, y lleva a los lectores a usar menos de 50 líneas de código para implementar la estructura de red clásica resnet.
- El Capítulo 5 presenta herramientas como la carga de datos, los modelos de pre-entrenamiento, las herramientas de visualización y la aceleración de GPU en Pytorch. El uso de estas herramientas racionalmente puede mejorar la eficiencia de programación de usuarios.
Extensiones avanzadas (Capítulos 6-8) explica algunas extensiones avanzadas en Pytorch. Aprender esta parte puede ayudar a los lectores a escribir programas más eficientes.
- El Capítulo 6 presenta ideas de vectorización en Pytorch, principalmente incluyendo reglas de transmisión, índices básicos, índices avanzados y operaciones de Einstein. Al final de este capítulo, los lectores llevan a usar ideas de vectorización para implementar operaciones convolucionales, intercalación, alinearse con ROI y revertir operaciones únicas en un aprendizaje profundo.
- El Capítulo 7 presenta operaciones distribuidas en Pytorch. La computación distribuida y la computación paralela pueden acelerar el proceso de capacitación de la red. Este capítulo introduce en detalle los principios básicos de la computación paralela y la computación distribuida, y también presenta cómo usar la antorcha. Distribuido y Horovod para la capacitación distribuida de Pytorch.
- El Capítulo 8 presenta la extensión CUDA en Pytorch, lo que lleva a los lectores a usar CUDA para implementar funciones sigmoidales. Al mismo tiempo, este capítulo resume la relación entre Cuda, Nvidia-Driver, Cudnn y Python.
Aplicaciones prácticas (Capítulo 9-13) Use Pytorch para implementar varias aplicaciones interesantes e interesantes. Para esta parte del contenido, este repositorio proporciona un código de implementación completo y proporciona modelos previamente capacitados como demostraciones para que los lectores prueben.
- El Capítulo 9 es un capítulo que conecta el pasado y el futuro. El objetivo no es enseñar a los lectores nuevas funciones y nuevos conocimientos, sino combinarlo con una competencia clásica en Kaggle para realizar el problema de clasificación binaria de imagen más simple en el aprendizaje profundo. Durante el proceso de implementación, los lectores serán llevados a revisar el conocimiento de los primeros 5 capítulos y ayudar a los lectores a organizar programas y código razonablemente para que el programa sea más fácil de leer y mantener mejor. Al mismo tiempo, este capítulo presenta cómo depurar en Pytorch.
- El Capítulo 10 presenta los principios básicos de generar redes adversas, los lectores que llevan a implementar un generador de avatar de anime desde cero, y pueden usar la red adversaria generativa para generar avatares de anime con estilos variables.
- El Capítulo 11 presenta algunos conocimientos básicos del procesamiento del lenguaje natural y presenta en detalle los principios básicos de Charrnn y Transformer. Este capítulo lleva a los lectores a usar Transformer para escribir automáticamente poemas. Este programa puede imitar a las personas antiguas a secuela de poemas y generar poemas ocultos.
- El Capítulo 12 presenta los principios básicos de la transferencia de estilo y lleva a los lectores a implementar redes neuronales que admitan la transferencia de estilo arbitraria. A través de esta red, los lectores pueden convertir cualquier imagen en el estilo de pinturas famosas.
- El Capítulo 13 presenta los principios básicos de detección de objetos y lleva a los lectores a implementar un algoritmo de detección de detección objetivo de supresión de supresión de valor de valor de un valor de máximo. Las ideas de diseño de Centernet se pueden migrar a problemas clásicos de visión por computadora, como detección de objetos, estimación de postura humana y seguimiento objetivo de imágenes tridimensionales.
El contenido de la descripción del texto y el contenido de Markdown en el cuaderno pertenecen al primer borrador de este libro. Puede haber algunos inconvenientes en la descripción. Por favor, comprenda que el autor lo corregirá gradualmente más tarde . Esta parte del contenido garantiza el 80% de consistencia con el libro, pero puede haber algunos problemas gramaticales. Debido a las limitaciones de tiempo, el autor lo actualizará gradualmente en el futuro.
¿Necesitas comprar un libro?
Los libros no son necesarios . Este almacén contiene más del 60% del contenido de texto y más del 90% del código en el libro, especialmente el contenido de introducción en los pocos capítulos anteriores, que conservan casi por completo el contenido de explicación en el libro. Los lectores pueden usar este tutorial normalmente, incluso si no compran libros.
Si cree que prefiere la experiencia de lectura de la versión en papel y desea dejar un libro bellamente impreso y totalmente impreso para una lectura fácil, también podría gastar un poco de dinero para apoyar el trabajo del autor durante el año pasado ~
Descripción del código
El código se prueba principalmente en Python3+Pytorch1.6 ~ 1.8 para obtener el resultado final. Python2 aún no se ha probado, y la versión actualizada de Pytorch aún no se ha probado.
Si hay alguna inapropiación o alguna área que necesite mejoras, abra una discusión de problemas o envíe una solicitud de extracción.
Configuración del entorno
Para instalar Pytorch, seleccione la versión especificada del sitio web oficial para instalarla e instálela con un solo clic. Para obtener más métodos de instalación, consulte las instrucciones del libro.
Clonación del repositorio
git clone https : // github . com / chenyuntc / PyTorch - book . git
^_^
Si tiene algún error, explicaciones o confusiones poco claras, abra un problema
Bienvenido a Pull Solicitaciones
¡Feliz codificación!

- Enlace de compra de JD.com
- Enlace de compra de Dangdang