import numpy as np
import matplotlib.pyplot as plt
import torch
import torch.nn as nn
import torch.optim as optim
# 构建数据集
num_samples_per_class = 100
X1 = np.random.randn(num_samples_per_class, 2) + np.array([0, 2])
X2 = np.random.randn(num_samples_per_class, 2) + np.array([-2, -2])
X3 = np.random.randn(num_samples_per_class, 2) + np.array([2, -2])
X = np.vstack((X1, X2, X3)).astype(np.float32)
y = np.array([0] * num_samples_per_class + [1] * num_samples_per_class + [2] * num_samples_per_class)
# 将数据集划分为训练集和测试集
X_train = torch.from_numpy(X).float()
y_train = torch.from_numpy(y).long()
# 定义神经网络
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(2, 10)
self.fc2 = nn.Linear(10, 5)
self.fc3 = nn.Linear(5, 3)
def forward(self,
人工智能概论第三次作业
最新推荐文章于 2024-08-13 10:09:13 发布