Це відео не доступне.
Перепрошуємо.
Programar Red Neuronal Convolucional (CNN) en Matlab desde cero
Вставка
- Опубліковано 14 сер 2024
- Aprende a #programar una Red Neuronal Convolucional (Convolutional Neural Network conocida como #CNN) desde cero utilizando #Matlab.
Deja tus dudas en la secciones de comentarios.
Tiempos del video:
00:00 ¿Qué es una Red Neuronal Convolucional (CNN)?
03:35 Cargar los datos de entrenamiento de una CNN en Matlab
05:26 Visualizar base de datos
06:56 Tamaño de la base de datos de entrenamiento y de la capa de entrada
08:18 Separar conjunto de entrenamiento y validación
09:21 Definir arquitectura de la Red Neuronal Convolucional
13:49 Especificar opciones de entrenamiento de la CNN
16:13 Entrenar una red Neuronal Convolucional
Music KV - Look (Official Audio) | Nostalgic Chill Asian Hip Hop
Look by KV / kvmusicprod
Creative Commons - Attribution 4.0 International - CC BY 4.0
www.creativeco....
Si quieres cargar tu propia base de datos y ya la tienes ordenada en subcarpetas, donde cada subcarpeta representa un label diferente, puedes poner lo siguiente:
imds = imageDatastore('dirección dónde se encuentra tu carpeta',...
'FileExtensions',{'.jpg','.tif'},...
'IncludeSubfolders',true,'LabelSource','foldernames').
Con esto se carga la base de datos de las imágenes con sus respectiva categorías.
Si te gustaría que hiciera un video especifico de diferentes formas en las que puedes cargar tus propias bases de datos, déjalo en los comentarios.
Por alguna razón, me sale error al poner mi propia base de datos porque las imágenes no son del mismo tamaño, cómo hago para cambiarles el tamaño dentro de Matlab de (por ejemplo) 123x243x1 a 200x200x3?
Video sobre esto por favor
@@dianar7282 lo hare muchas gracias por la recomendacion
Muchas gracias por tu aporte a la comunidad de habla hispana interesada en el mundo de la inteligencia artificial.
Saludos
Este tema siempre ha sido causa de mi curiosidad, tu explicación se me hace de un excelente contenido Edutuber!!!
Hola, me encantó tu explicación, magistral.
Me alegra que te guste
te amo
buen aporte
Gracias, cualquier duda con el código puedes dejarla en los comentarios.
Felicitaciones y muchas gracias por tu video. Tengo dos dudas, espero que me pueda colaborar: ¿cómo puedo probar la red? ¿cómo puedo cambiar el número de iteraciones por epoca? Gracias.
el numero de iteraciones por epocas lo cambias, cambiando el size del minibatch. El modelo se obtenido con la red se queda guardado y ese modelo lo puedes utilizar para nuevas variables. El 26 de octubre estare haciendo un envivio efocado en Matlab para para ML, y estare resolviendo estas dudas, ojala puedas estar, proximamento estare publicando la convocatoria en mis redes sociales.
Sugerencia: Modificar la resolución del video para ver con mayor nitidez el video. UA-cam suele tener predefino una baja calidad del video
hola, me dio error en el momento de ejecutar la red neuronal para que me aparezca el contenido de layer, al definir la arquitectura de la red Neuronal (minuto 9:21) dice que es inválido el valor para el 'Padding' que se esperaba un valor escalar :/ Alguien me puede ayudar?
En el minuto 11:36 se corrije el error. Espero te ayude
Buenas, al ejecutar la primera parte del código me devuelve error . "No value was given for 'LabelSource","foldernames'. Name-value pair arguments require a name followed by a value."
Es necesario acceder a alguna librería en particular para cargar la base de datos?
Esto disponible desde en las versiones de 2017 en adelante, ¿Qué versión tienes de MATLAB?
Por otro revisa que esté escrito correctamente luego solemos tener pequeños typos y eso nos marca error
¡Hola! quiero felicitarte muchísimo por este canal. Es muy interesante ver tus videos, se nota el esfuerzo que haces para explicar de la mejor manera posible todo este mundo de la inteligencia artificial. Te quiero hacer una pregunta: ¿como puedo hacer para probar el modelo? Estuve revisando algunos video tuyos, pero no he encontrado uno donde pruebes una red que entrenaste con imágenes diferentes a las del proceso de entrenamiento. Sería muy interesante ver un ejemplo de como pruebas tu modelo; ojalá lo pudieras hacer en MATLAB, como una cuarta entrega del apartado de Redes Neuronales que tienes.
Nuevamente mil gracias por compartir tus conocimientos. De antemano te agradezco por la explicación, ya que tengo implementada la red neuronal que explicaste, pero no he podido probarla. ¡muchos saludos desde Colombia!
Claro, he estado un poco ausente de UA-cam porque he estado con mucho trabajo pero ya la proxima semana intentare regresar con mas contenido. Saludos
Hola Carlos, he subido recientemente un nuevo video en el que se comprueba el modelo entrenado. Espero te sea de utilidad. Minuto 36:00 del siguiente video ua-cam.com/video/6g1mp0EFEoE/v-deo.html
¡@@Atecnea muy buenos días! Ya mismo me dirijo a verlo, Muchas gracias por compartirme el link y tomarte el tiempo de respondernos y hacer este contenido de gran calidad.... ¡saludos desde Colombia!. Te estaré escribiendo mucho, porque gracias a ti me he inspirado en hacer mi tesis de grado usando inteligencia artificial, más exactamente redes neuronales =)
@@carlosmurcia6825 me alegra mucho saber esto. Te deseo mucho éxito en tu proyecto.
Excelente video. Una consulta, que opción activaste para realizar autocompleado del código, me dije que matlab te sugería una línea de código a la hora de escribir
Hola, me alegra que el video te sea de utilidad.
Respecto a tu consulta, estas funciones están disponibles y predefinidas en el Live Editor, pero actualmente no están disponibles en el editor de scripts tradicionales. Saludos
Me ayudo bastante el tutorial que realizaste para adentrarme al diseño de una red neuronal convolucional, pero tengo un pequeño detalle en mi aplicacion y es que no entiendo aun como hacer el entrenamiento, ya que tengo una imagen de entrada 480x640x1 y tengo las imagenes de salidas que son dos de 480x640x2 ya que estan concatenadas. Como deberia hacer la configuracion para que al momento de entrenar eliga una imagen especifica y sus respectivas dos imagenes de salida, y asi lo haga con las demas ya que tengo una base de datos de 1000 imagenes. De ante mano gracias.
Hola, no se si entendi bien la pregunta, lo primero que entiendo es que a la entrada tienes una imagen y a la saliada la concatenacion de dos imagenes, cierto? Si es asi, habria que aclarar que una CNN solo puede tener como salidas etiquetas en el caso de clasificacion o valores en el caso de regresion. Por lo cual tendrias que modificar la forma en que abordas el problema. Es decir a la salida no podria darte dos imagenes concatenadas pero si podria decirte darte una etiqueta y tal vez esa etiqueta representa la concatenacion de dos imagenes, es decir tendrias previamente que codificar tus datos. Otra opcion y usar un autoencoder pero ese tipo de red funciona con una logica diferente. El 26 de octubre estare haciendo un envivio efocado en Matlab para para ML, y estare resolviendo estas dudas, ojala puedas estar, proximamento estare publicando la convocatoria en mis redes sociales.
Hola, una consulta podría emplear como base de datos señales fisiológicas ( vectores característicos) en ves de imágenes en la CNN ?
Hola, si claro puedes utilizar señales fisiológicas de entrada. Solo tendrías que adaptar la arquitectura de la red al tamaño de tu entrada
hola como puedo descargar la datastore, creo que no tengo el toolbox de NNET, saludos
Que Versión de MATLAB tienes? Si no me equivoco, creo recordar que el toolbox se puede incluir desde la versión de 2017
@@Atecnea hola gracias, al finla lo resolví reinstalando matlab y seleccionando el modulo para deep learning, todo jalo muy bien gracias,
@@marcohernandezluna8219 ME alegra saberlo. Saludos
Buenas tardes, que gusto poder saludarla nuevamente. Queria saber como puedo hacer el proceso de evaluacion de la RNC. Muchas gracias por su atencion y colaboracion.
Hola qué tal te dejo el comando que de debe de usar:
YPred = clasificar (net, imdsValidation);
@@Atecnea Perfecto, muchas gracias. Pero ¿en que parte del codigo lo debo colocar, y q ue porcentaje es recomendado para la validacion cruzada? De verdad muchas gracias y perdon por las molestias.
@@julioenriquemunozburbano8247 está semana voy a hacer un vídeo e inclure esa parte en e la explicación. Te dejo un mensaje aquí cuando lo haya subido. Saludos
Hola Julio, ya he subido el vídeo está en el minuto 36 del siguiente video: ua-cam.com/video/6g1mp0EFEoE/v-deo.html
Muy buen video!! Pero, tengo una duda, cómo sabe usted que el ordenador verdaderamente sabe como es el 1,2,3,etc? Por qué el gráfico del final dice que lo hace con precisión pero cómo lo demuestra? Y se podría hacer con imágenes de personas??
Hola, después de que la red este entrenada, puedes utilizar el modelo y probar cómo funciona con imágenes completamente nuevas y a la salida te tienen que dar la clasificación correspondiente.
Y si se puede hacer con imágenes de personas.
Próximamente estaré subiendo más vídeos, sobre esto.
Hola, muy buen video, muchas gracias. Disculpa en la ultima parte cuando quiero entrenar la red me sale este mensaje Error using nnet.internal.cnngpu.isGPUCompatible (line 17)
GPUs of compute capability 6.0 and above are not supported due to a problem
with this version of the cuDNN deep learning library. See bug report
1439741.
Error in trainNetwork (line 46)
nnet.internal.cnngpu.isGPUCompatible(true);
Me puedes ayudar??? por favor
Tengo una verison pira... de Matlab 2016b
Tienes instalada correctamente la GPU? Prueba con esto: coder.checkGpuInstall('full')
@@Atecnea Me da este mensaje Error: Unexpected MATLAB expression.
Undefined variable "coder" or class "coder.checkGpuInstall".
Hola, ya solucione el problema del GPU pero ahora me da este mensaje
Error using trainNetwork (line 170)
Invalid training data. The output size (10) of the last layer does not match the number of classes (5).
Error in Untitled2 (line 73)
net = trainNetwork(imdsTrain,layers,options);
@@taniaelizabethsandovalvale8739 significa que el numero de neuronas en la ultima clase debe ser igual al numero de clases que tienes, es decir, si tienes 5 clases la ultima capa debe tener 5 neuronas.
Saludos
@@Atecnea muchas gracias, ya pude entrenar la red.
buenas en las especificaciones de entrenamiento cuales son las modificaciones pertinentes que se pueden realizar, esto a cambios futuros y con una base de datos mas pequeña.
Hola puedes probar cambiar el optimizador, el learning ratio, el size del minibacth.
@@Atecnea y para pasar a escala de grises una imagenes,pero de forma automatica toda una carpeta llena de ellas.
Buen Video Estimada, una consulta hay alguna forma o comando que nos permita visualizar la matriz de convolución desde la primera capa?
si, al final podemos guaradar el modeo obtenido y se guaradn los pesos de las matrices de cada capa de convolucion y full conection. Deja preparo un vioe sobre eso. Muchas gracias por la observacion
Hola!! buen video , una consulta , como puedo saber de que numeros esta compuesto el filtro 3x3 en la capa convolution2Dlayer? o son aleatorios?
Hola, los pesos del filtro al principio son aletarios pero con forme se va entrenando la red neuronal convolucional va ajustando esos pesos en funcion del algoritmo de back propagation. Al final del entrenamiento, los pesos de los filtros se guardan en una varible del modelo y ahi puedes verlos. No se si respondi correcatmente a tu pregunta. Saludos
Me gusto mucho tu vídeo, muy bien explicado, pero tengo una duda, después de haber entrenado la RNA como se haría para probarla, por ejemplo que yo ingresé una imagen de entrada y que ella me diga a qué categoría pertenece esa imagen. Gracias
Tienes guardar el modelo y después usarlo para predecir la salida.
Voy a grabar un vídeo sobre eso próximamente.
Hola Vallenato, he subido recientemente un video en que se comprueba el modelo entrenado. Espero te sea de utilidad. Minuto 36:00 del siguiente video ua-cam.com/video/6g1mp0EFEoE/v-deo.html
Hola, muy agradecido por su tiempo de explicar este tema. Excelente video, me aclaró varias dudas. Tengo una pregunta, cómo le hago si mis imágenes son de diferente tamaño?
Se tiene que hacer un preproceso, dónde ajuste todas las imágenes a un mismo tamaño.
MATLAB tiene una línea de código que te ayudará a cambiar el tamaño de una imagen.
@@Atecnea Gracias, lo intentaré
@@Atecnea Hola, espero tenga un buen día, logré solucionar esa parte. Pero me gustaría saber si podría ayudarme en otra duda, lo que pasa es que mis imágenes son de tres canales RGB. Cómo le haría ? Gracias
@@juanej7 me alegra que lo hayas solucionado.
Para la siguiente cuestión, en la capa de entrada tienes que especificar que tu entrada es de tres canales es decir cuando defines la arquitectura de la red debes de usar:
imageInputLayer([X Y 3])
Donde X Y es el tamaño de la imagen y 3 representanta que tienes 3 canales. ¿No sé si me explico?
@@Atecnea Si, lo coloqué así, pero al momento de llegar a "net = trainNetwork(imdsTrain,layer,option)"
Me aparece el error: Layer6:Input size mismatch. size of input to this layer is different from the expected input size. Inputs to this layer: from layer 5 (output size 64x64x8).
Mis imágenes son de tamaño 128x128x3. No sé si tenga que ver con la arquitectura, coloqué la misma que el video...
Disculpe las molestias
Hola! excelente video enhorabuena. Una vez finalizado el proceso, ¿cómo podemos exportar la red neuronal? Muchas gracias!!
La red neuronal general un modelo de predicción que se queda guardado en las variables del workspace.
Se puede utilizar ese modelo ya entrenado, haré un vídeo próxima sobre eso para que quede más claro.
@@Atecnea perfecto muchas gracias!! estaré atento
Hola que tal, soy estudiante de ingenieria, usted cree que me pueda brindar algunas asesorias de redes neuronales
?
Hola escríbeme por favor en la página de Facebook
No usas una base de datos propia o descargada o creada, usas datos propios de matlab, sería bueno usar imágenes descargadas o creadas
Tendré en cuenta tu recomendación
buen aporte solo que no se dice "acurensi" suena mas como akyureci
Gracias por la observación