给我一个"简单的深度学习代码试例
时间: 2023-09-25 22:06:40 浏览: 196
深度学习样例
### 回答1:
深度学习代码试例:这是一个使用 Python 和 Keras 实现 MNIST 手写数字识别的简单例子:from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.utils import np_utils
from keras.datasets import mnist# 加载 MNIST 数据集
(X_train, y_train), (X_test, y_test) = mnist.load_data()# 将 28x28 像素的图像转换为一维 784 像素的向量
num_pixels = X_train.shape[1] * X_train.shape[2]
X_train = X_train.reshape((X_train.shape[0], num_pixels)).astype('float32')
X_test = X_test.reshape((X_test.shape[0], num_pixels)).astype('float32')# 标准化像素值到 0-1
X_train = X_train / 255
X_test = X_test / 255# 将类别标签转换为 one-hot 编码
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
# 计算类别
num_classes = y_test.shape[1]# 定义模型
def baseline_model():
# 创建模型
model = Sequential()
model.add(Dense(num_pixels, input_dim=num_pixels, kernel_initializer='normal', activation='relu'))
model.add(Dense(num_classes, kernel_initializer='normal', activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
return model# 建立模型
model = baseline_model()
# 训练模型
model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=10, batch_size=200, verbose=2)
# 评估模型
scores = model.evaluate(X_test, y_test, verbose=0)
print("Baseline Error: %.2f%%" % (100-scores[1]*100))
### 回答2:
以下是一个简单的深度学习代码试例:
```python
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(60000, 784) / 255.0
x_test = x_test.reshape(10000, 784) / 255.0
y_train = tf.keras.utils.to_categorical(y_train, 10)
y_test = tf.keras.utils.to_categorical(y_test, 10)
# 创建模型
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(784,)))
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=32)
# 评估模型
loss, accuracy = model.evaluate(x_test, y_test)
print("测试集准确率:", accuracy)
```
这段代码使用Tensorflow和Keras构建了一个简单的深度学习模型,用于识别手写数字MNIST数据集。模型包含一个具有512个神经元的隐藏层和一个输出层,使用relu激活函数进行前向传播,最后利用softmax函数进行多类别分类。模型通过Adam优化器,使用交叉熵损失函数进行训练,并在训练集上进行了5个epoch的训练。最后,在测试集上评估模型的准确率。
### 回答3:
下面是一个简单的深度学习代码示例,用于解决图像分类问题。
```python
# 引入所需的库
import numpy as np
import tensorflow as tf
from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
# 加载MNIST数据集
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 对数据进行归一化和预处理
train_images = train_images / 255.0
test_images = test_images / 255.0
# 构建模型
model = Sequential()
model.add(Flatten(input_shape=(28, 28))) # 将二维图像展平为一维
model.add(Dense(128, activation='relu')) # 添加全连接层,使用ReLU作为激活函数
model.add(Dense(10, activation='softmax')) # 输出层,使用softmax作为激活函数,输出预测的类别
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(train_images, train_labels, epochs=10, batch_size=32, verbose=2)
# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('Test accuracy:', test_acc)
# 进行预测
predictions = model.predict(test_images[0:10])
predicted_labels = np.argmax(predictions, axis=1)
print('Predicted labels:', predicted_labels)
```
这个示例使用了TensorFlow来构建一个简单的深度学习模型,用于识别手写数字图像。首先,加载了MNIST数据集并进行了预处理。然后,定义了一个基于序列模型的神经网络,该模型包括一个展平层、一个全连接层和一个输出层。接下来,通过编译模型并使用训练数据进行训练。训练完成后,对模型进行评估,并使用测试数据进行预测。最后,输出预测结果。这个示例展示了深度学习在图像分类问题上的应用。
阅读全文