Hola, aqui te dejo algunos ejemplos de deep learning con Python que puedes utilizar como punto de partida para entender mejor cómo funciona:
instalación:
pip install tensorflow
Clasificación de imágenes con una red neuronal convolucional (CNN):
import tensorflow as tf
from tensorflow import keras
# Cargar el conjunto de datos MNIST de dígitos escritos a mano
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# Preprocesar los datos
x_train = x_train.reshape((60000, 28, 28, 1))
x_train = x_train.astype('float32') / 255
x_test = x_test.reshape((10000, 28, 28, 1))
x_test = x_test.astype('float32') / 255
# Definir la arquitectura de la CNN
model = keras.Sequential([
keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
keras.layers.MaxPooling2D((2, 2)),
keras.layers.Conv2D(64, (3, 3), activation='relu'),
keras.layers.MaxPooling2D((2, 2)),
keras.layers.Conv2D(64, (3, 3), activation='relu'),
keras.layers.Flatten(),
keras.layers.Dense(64, activation='relu'),
keras.layers.Dense(10)
])
# Compilar el modelo
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# Entrenar el modelo
history = model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
# Evaluar el modelo
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print('Accuracy:', test_acc)
Clasificación de sentimientos con una red neuronal recurrente (RNN):
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
# Cargar el conjunto de datos IMDB de críticas de películas
(x_train, y_train), (x_test, y_test) = keras.datasets.imdb.load_data(num_words=10000)
# Preprocesar los datos
maxlen = 200
x_train = keras.preprocessing.sequence.pad_sequences(x_train, maxlen=maxlen)
x_test = keras.preprocessing.sequence.pad_sequences(x_test, maxlen=maxlen)
# Definir la arquitectura de la RNN
model = keras.Sequential([
layers.Embedding(input_dim=10000, output_dim=32, input_length=maxlen),
layers.SimpleRNN(32),
layers.Dense(1, activation='sigmoid')
])
# Compilar el modelo
model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])
# Entrenar el modelo
history = model.fit(x_train, y_train, epochs=10, batch_size=128, validation_split=0.2)
# Evaluar el modelo
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print('Accuracy:', test_acc)