使用Python实现简单神经网络
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# 创建模型
model = Sequential([
Dense(64, activation='relu', input_shape=(32,)),
Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
TensorFlow示例
# 导入数据集
from tensorflow.keras.datasets import mnist
# 加载数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28*28).astype('float32') / 255
x_test = x_test.reshape(-1, 28*28).astype('float32') / 255
# 构建模型
model = Sequential([
Dense(128, activation='relu', input_shape=(784,)),
Dense(64, activation='relu'),
Dense(10, activation='softmax')
])
# 训练模型
model.fit(x_train, y_train, epochs=10, validation_split=0.2)

[点击了解TensorFlow更详细教程](/tensorflow_tutorial)
PyTorch示例
import torch
from torch import nn, optim
from torch.utils.data import DataLoader, TensorDataset
# 定义神经网络
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 64)
self.fc3 = nn.Linear(64, 10)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = torch.relu(self.fc2(x))
x = torch.softmax(self.fc3(x), dim=1)
return x
# 创建数据
data = TensorDataset(torch.tensor(x_train), torch.tensor(y_train))
dataloader = DataLoader(data, batch_size=32)
# 训练模型
net = Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters())
for epoch in range(10):
for images, labels in dataloader:
outputs = net(images)
loss = criterion(outputs, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()

[点击查看PyTorch实战案例](/pytorch_tutorial)
扩展学习资源