pytorch(六、七)多维特征数据的输入、加载数据集的类

文章目录

多维特征数据的输入

对于一个多维数据,其行表示一个样本,列表示样本的特征

对于多维特征的运算,实质上可以当做特征的映射

代码

python 复制代码
import  torch
import  torch.nn.functional as F
import  numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets

xy=np.loadtxt('./data/Diabetes_class.csv.gz',delimiter=',',dtype=np.float32)#加载训练集合
x_data = torch.from_numpy(xy[:,:-1])#取前八列
y_data = torch.from_numpy(xy[:,[-1]])#取最后一列

test =np.loadtxt('./data/test_class.csv.gz',delimiter=',',dtype=np.float32)#加载测试集合,这里我用数据集的最后一个样本做测试,训练集中没有最后一个样本
test_x = torch.from_numpy(test)

class Model(torch.nn.Module):
    def __init__(self):#构造函数
        super(Model,self).__init__()
        self.linear1 = torch.nn.Linear(8,6)#8维到6维
        self.linear2 = torch.nn.Linear(6, 4)#6维到4维
        self.linear3 = torch.nn.Linear(4, 1)#4维到1维
        self.sigmoid = torch.nn.Sigmoid()#因为他里边也没有权重需要更新,所以要一个就行了,单纯的算个数


    def forward(self, x):#构建一个计算图,就像上面图片画的那样
        x = self.sigmoid(self.linear1(x))
        x = self.sigmoid(self.linear2(x))#将上面一行的输出作为输入
        x = self.sigmoid(self.linear3(x))
        return  x

model = Model()#实例化模型

criterion = torch.nn.BCELoss(size_average=False)
#model.parameters()会扫描module中的所有成员,如果成员中有相应权重,那么都会将结果加到要训练的参数集合上
optimizer = torch.optim.SGD(model.parameters(),lr=0.1)#lr为学习率,因为0.01太小了,我改成了0.1

for epoch in range(1000):
    #Forward
    y_pred = model(x_data)
    loss = criterion(y_pred,y_data)
    print(epoch,loss.item())
    #Backward
    optimizer.zero_grad()
    loss.backward()
    #update
    optimizer.step()

y_pred = model(x_data)

print(y_pred.detach().numpy())

y_pred2 = model(test_x)
print(y_pred2.data.item())

加载数据集

概念

python 复制代码
# Training cycle
for epoch in range(training_epochs):
	# Loop over all batches
	for i in range(total_batch)

epoch:表示训练的周期,表示所有的样本都经过前向传播和后向传播才叫一个训练周期

batch-size:每一次训练的时候所需要的样本数量,这个训练包括了前向传播和后向传播

iterations:内层循环一共执行了多少次,= 样本数量 ÷ batch-size

概念

相关推荐
小小毛桃14 分钟前
在PyTorch中,使用不同模型的参数进行模型预热
人工智能·pytorch·python
天下琴川19 分钟前
Dify智能体平台源码二次开发笔记(6) - 优化知识库pdf文档的识别
人工智能·笔记·pdf
HenrySmale1 小时前
信息科技伦理与道德0:课程安排
人工智能·科技·计算机视觉
yngsqq1 小时前
CAD 像素点显示图片——CAD二次开发 OpenCV实现
人工智能·opencv·计算机视觉
Luke Ewin1 小时前
一个基于OpenAI Whisper开发的音视频字幕文件生成工具
人工智能·whisper·音视频·语音识别·asr·语音转写·视频字幕生成
老马啸西风2 小时前
AgentGPT 在浏览器中组装、配置和部署自主 AI 代理 入门介绍
人工智能·ai·openai·agent·robot·deepseek·mcp
京东零售技术2 小时前
京东3D空间视频生成技术探索与应用
人工智能
Jamence2 小时前
多模态大语言模型arxiv论文略读(十六)
人工智能·语言模型·自然语言处理
武汉唯众智创3 小时前
人工智能(机器人)通识实验室解决方案
人工智能·机器人·人工智能实验室·人工智能通识实验室·人工智能通识·机器人通识实验室·机器人实验室