Curso de Deep Learning con Pytorch

Curso de Deep Learning con Pytorch

Instruido por:
Juan Pablo Morales
Juan Pablo Morales
Básico
5 horas de contenido
Ver la ruta de aprendizaje
Transferencia de estilo con Deep Learning
Proyecto del curso
Transferencia de estilo con Deep Learning

Crea un modelo de transferencia de estilo para imágenes usando la red generativa Cycle Gan

Curso de Deep Learning con Pytorch

Curso de Deep Learning con Pytorch

Progreso del curso:0/39contenidos(0%)

Contenido del Curso
Tutoriales de estudiantes
Preguntas de estudiantes

Progreso del curso:0/39contenidos(0%)

Aprender conceptos iniciales de Deep Learning

Material Thumbnail

¿Qué es el Deep Learning?

07:25 min

¿Qué son las redes neuronales artificiales?

00:01 min

Material Thumbnail

¿Por qué el Deep Learning ahora?

05:15 min

Material Thumbnail

Pytorch y los diferentes frameworks de Deep Learning

04:27 min

Material Thumbnail

Setup en Google Colab

06:48 min

Entender la API de Pytorch

Material Thumbnail

¿Qué son los tensores?

09:15 min

Material Thumbnail

Tensores y datasets

09:02 min

Material Thumbnail

Capas de una red neuronal en Pytorch

10:02 min

Material Thumbnail

Crear una red neuronal en Pytorch

13:21 min

Material Thumbnail

¿Cómo cargar datos en Pytorch?

13:13 min

Material Thumbnail

¿Cómo entrenar una red en Pytorch?

11:33 min

Material Thumbnail

Loop de entrenamiento de la red neuronal

13:02 min

Entrenar Redes Neuronales Profundas

Material Thumbnail

Ciclo de trabajo para el Deep Learning

07:47 min

Material Thumbnail

Espacio de modelos

07:18 min

Material Thumbnail

Función de perdida

08:08 min

Material Thumbnail

Método de optimización: SGD y Backpropagation

09:18 min

Material Thumbnail

Autograd y métodos de optimización

12:25 min

Material Thumbnail

¿Cómo evaluar la performance de la red neuronal?

08:13 min

Material Thumbnail

Regularización de redes neuronales profundas

05:44 min

Material Thumbnail

Implementando la Regularización

08:32 min

Material Thumbnail

Optimización de hiperparametros

11:49 min

Transfer learning

04:04 min

Construir nuestro propio modelo

Material Thumbnail

Presentación del problema

10:06 min

Material Thumbnail

Definiendo la red generativa que construiremos: CycleGAN

10:58 min

Material Thumbnail

Creando la red generadora convolucional

09:11 min

Material Thumbnail

Creando el decoder de la red generadora

07:46 min

Material Thumbnail

Construyendo las redes discriminativas

07:23 min

Material Thumbnail

Preparando el entrenamiento

09:46 min

Material Thumbnail

Instanciando redes, perdidas

09:49 min

Material Thumbnail

Instanciando optimizadores y schedulers

09:09 min

Material Thumbnail

Calculando las pérdidas

09:28 min

Material Thumbnail

Cómo visualizar y debugear el entrenamiento

13:09 min

Material Thumbnail

Cómo utilizar tu modelo una vez entrenado

10:36 min

Cómo utilizar una GPU personal con Google Cloud

02:14 min

Llegar más lejos

Material Thumbnail

¿Por qué el Deep Learning es más poderoso que el Machine Learning Tradicional?

08:01 min

Para ir más lejos

03:21 min

Bonus

Material Thumbnail

¿Por qué aprender Deep Learning?

02:26 min

Esta clase estará disponible próximamente
nuevosmás votadossin responder
Moises Arias Rodriguez
Moises Arias Rodriguez
Estudiante

Al poner la línea len(signs)


**TypeError Traceback (most recent call last)
<ipython-input-71-60e3bd2239ef> in <module>()
----> 1 len(signs)

TypeError: ‘SINGSDataset’ object is not callable**
**
Codigo principal es este:**
import os
from PIL import Image
from torch.utils.data import Dataset, DataLoader

class SIGNSDataset(Dataset):
def init(self, base_dir, split=“train”, transform=None):
path = os.path.join(base_dir, “{}_signs”.format(split))
files = os.listdir(path)

self.filenames = [os.path.join(path,f) for f in files if f.endswith(".jpg")]

self.targets = [int(f[0]) for f in files]
self.transform = transform

def len(self):
return len(self.filenames)

def getitem(self,idx):
image = Image.open(self.filenames[idx])
if self.transform:
image = self.transform(image)
return image, self.targets[idx]

Luego

signs = SINGSDataset(’/gdrive/MyDrive/dl-pytorch/datasets/64x64_SIGNS’, split=“train”)

0
jhcueva
jhcueva
Estudiante

Como se puede resetear los valores del modelo en casa iteración del cambio del learning rate? Ya que de lo contrario en cada iteración del learning rate partira de los parámetros del modelos ya entrenado con el learning rate anterior.

0
jhcueva
jhcueva
Estudiante

Cómo puedo descargar la librería utils?

0
Patricio Zavala
Patricio Zavala
Estudiante

En este pedazo de código:

transform = transforms.Compose(
  [transforms.RandomHorizontalFlip(), #data augmentation
   transforms.ToTensor(),
   transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])    
  ]
)

los valores de la media y desviación estándar los saca sobre cada canal verdad? (se que debería ser así, pero me encantaría confirmarlo)

Gracias

1
Francisco Vinueza
Francisco Vinueza
Estudiante

como aplico una arequietctura de GANS para hacer una detecion de anomalias de una serie en el tiempo? por ejemplo anomalias de precios o de un valor de un termometor? alguien sabe de algun tutorial o de algun articulo? gracias

0
Gabriel Oswaldo Giraldo Martínez
Gabriel Oswaldo Giraldo Martínez
Estudiante

Tengo este error:
RuntimeError: Given groups=1, weight of size [3, 64, 7, 7], expected input[4, 32, 514, 514] to have 64 channels, but got 32 channels instead

1
Gabriel Oswaldo Giraldo Martínez
Gabriel Oswaldo Giraldo Martínez
Estudiante

¿Si en lugar de hacerlo en colab, lo ejecuto en una máquina (puede ser virtual o en mi pc) que tenga GPU se corre igual las funcionas para usar GPU?

1
Josue Noha Valdivia
Josue Noha Valdivia
Estudiante

Hola, no puedo importar plot_helpers, cambio de nombre?

0
jhcueva
jhcueva
Estudiante

Hola, tengo este error en mi código. Alguien me puede ayudar a resolverlo.

Este es mi codigo:

device = torch.device('cuda'if cuda else'cpu')

def weights_init_normal(m):
  if isinstance(m, nn.Conv2d):
    torch.nn.init.normal(m.weight.data, 0.0, 0.02)
  elif isinstance(m, nn.BatchNorm2d):
    torch.nn.init.normal(m.weight.data, 1.0, 0.02)
    torch.nn.init.constant(m.bias, 0.0)
    
netG_A2B = Generator(input_nc, output_nc)
netG_B2A = Generator(input_nc, output_nc)
netD_A = Discriminator(input_nc)
netD_B = Discriminator(input_nc)

netG_A2B.apply(weights_init_normal)
netG_B2A.apply(weights_init_normal)
netD_A.apply(weights_init_normal)
netD_B.apply(weights_init_normal)

if cuda:
  netG_A2B.to(device)
  netG_B2A.to(device)
  netD_A.to(device)
  netD_B.to(device)
  
criterion_GAN = torch.nn.MSELoss()
criterion_cycle = torch.nn.L1Loss()
criterion_identity = torch.nn.L1Loss()

3
Javier Guevara
Javier Guevara
Estudiante

A mi me sale este error en esta parte del código:

for i, batch in enumerate(dataloader):
    real_A = batch['A'].to(device)
    real_B = batch['B'].to(device)

TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File “/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/worker.py”, line 198, in _worker_loop
data = fetcher.fetch(index)
File “/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/fetch.py”, line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File “/usr/local/lib/python3.6/dist-packages/torch/utils/data/_utils/fetch.py”, line 44, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File “<ipython-input-17-18f97943bc3a>”, line 11, in getitem
image_A = self.transform(Image.open(self.file_A[idx]))
File “/usr/local/lib/python3.6/dist-packages/torchvision/transforms/transforms.py”, line 67, in call
img = t(img)
TypeError: ‘int’ object is not callable

0