简单的torch网络模型记录

  1. 线性dense网络结构,输入(B,W)
    `

    class Model(nn.Module):
    def init(self):
    super().init()
    self.media_type_embed = nn.Embedding(num_media_type, embed_dim)
    self.mid_scroe_embed = nn.Embedding(num_mid_score, embed_dim)
    #self.cat = torch.cat()
    self.model = nn.Sequential(
    nn.Linear(embed_dim*2, 256),
    nn.ReLU(),
    nn.Linear(256, 2),
    #nn.Sigmoid(),
    )

    复制代码
     def forward(self, x,):
         #print("x :",x.shape)
         [media_type,mid_score] = x
         x_media = self.media_type_embed(media_type)
         x_mid = self.mid_scroe_embed(mid_score)
         x = torch.cat((x_media, x_mid), -1)
         x = self.model(x)
         return x

    model = Model()
    model.to(device)`

    optimizer = torch.optim.Adam(model.parameters(), lr=lr)
    criterion = nn.CrossEntropyLoss()

2.conv1d卷积网络:输入(B,C,W)

复制代码
import torch
import torch.nn as nn

# 定义一个一维卷积神经网络模型
class CNN1D(nn.Module):
    def __init__(self, input_dim, output_dim):
        super(CNN1D, self).__init__()
        self.conv1 = nn.Conv1d(in_channels=1, out_channels=16, kernel_size=3)
        self.conv2 = nn.Conv1d(in_channels=16, out_channels=32, kernel_size=3)
        self.pool = nn.MaxPool1d(kernel_size=2)
        self.fc1 = nn.Linear(32 * 47, 64)
        self.fc2 = nn.Linear(64, output_dim)

    def forward(self, x):
        x = self.conv1(x)
        x = nn.functional.relu(x)
        x = self.pool(x)
        x = self.conv2(x)
        x = nn.functional.relu(x)
        x = self.pool(x)
        x = x.view(-1, 32 * 47)
        x = self.fc1(x)
        x = nn.functional.relu(x)
        x = self.fc2(x)
        return x

# 实例化模型并定义损失函数和优化器
model = CNN1D(input_dim=100, output_dim=10)
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)

# 定义数据集并训练模型
for epoch in range(100):
    for i, (inputs, labels) in enumerate(data_loader):
        optimizer.zero_grad()
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
相关推荐
chanalbert1 分钟前
信息检索技术综述:从传统稀疏检索到现代深度学习方法
人工智能·深度学习·全文检索
fsnine1 小时前
深度学习——迁移学习
人工智能·深度学习·机器学习
CoovallyAIHub1 小时前
AI帮你打标签!这个开源神器让数据标注快了90%
深度学习·算法·计算机视觉
九章云极AladdinEdu4 小时前
临床数据挖掘与分析:利用GPU加速Pandas和Scikit-learn处理大规模数据集
人工智能·pytorch·数据挖掘·pandas·scikit-learn·paddlepaddle·gpu算力
九章云极AladdinEdu13 小时前
存算一体芯片生态评估:从三星PIM到知存科技WTM2101
人工智能·pytorch·科技·架构·开源·gpu算力
max50060014 小时前
实时多模态电力交易决策系统:设计与实现
图像处理·人工智能·深度学习·算法·音视频
尝试经历体验16 小时前
pycharm突然不能正常运行
python·深度学习·pycharm
大千AI助手16 小时前
灾难性遗忘:神经网络持续学习的核心挑战与解决方案
人工智能·深度学习·神经网络·大模型·llm·持续学习·灾难性遗忘
七元权17 小时前
论文阅读-SelectiveStereo
论文阅读·深度学习·双目深度估计·selectivestereo