14.Dropout
在训练过程中,dropout会以概率p随机地将一些神经元的输出设置为0,防止过拟合。在测试过程中,dropout不会被应用,而是通过将每个神经元的输出乘以保留概率(通常为0.5)来进行缩放。这是因为测试时,我们希望利用所有的神经元来获得更好的预测结果。dropout的工作原理是,在每个训练批次中,随机选择一些神经元,并将它们的输出设置为0。这样做的结果是,网络不再依赖于特定的神经元,而是强迫网络学习多个独立的特征子集,从而减少了过拟合的风险。
1torch.nn.Dropout(p=0.5, inplace=False)
13.用Gpu训练
文章目录
一、Pycharm连接远程服务器
二、xshell7和xrtp7配合使用
三、总结
一、Pycharm连接远程服务器首先要确定自己的Pycharm是专业版的,平时我们用的基本上都是社区版的Pycharm,社区版的Pycharm不带远程连接的功能,所以需要用专业版的Pycharm。给大家推一篇专业版Pycharm的安装教程,只要按照这个教程进行安装即可:Pycharm专业版安装。打开界面,点击工具箱下的deployment下的configuration。点击加号添加服务器信息,选择SFTP,点击右边的…添加信息:依次输入IP,端口号(默认是22),用户名(注意大小写),密码。点击确定后返回上一个界面,可以点击Test_connection尝试连接,successful connect说明可以正常连接服务器了。关键一步来了!-——配置文件映射信息。点击mappings,local path即为本地文件夹的路径,用的是\斜杠,deployment path是远程服务器对应的路径,重点!,服务器最后的文件夹名称一定要和本地的文件夹名称一样,我这里本地是lzy,服务器也要创建一 ...
孤注一掷——基于文心Ernie-3.0大模型的影评情感分析
模型训练可以分为以下几步
数据集准备
数据集加载
模型定义及实例化
损失函数定义
参数更新方式定义
模型必要参数设置
模型训练逻辑及一些提示信息、可视化编写
开始训练模型123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Pytorch_learn @File :train.py@IDE :PyCharm @Author :咋@Date :2023/7/13 15:38 """import torchimport torchvisionfrom torch.utils import datafrom Mymodel import MyMo ...
11.模型保存和加载
方法模型保存和加载有两套方法,分别为方法一
torch.save(vgg16,”vgg_1.pth”) 直接保存模型结构和模型参数,内存占用比较大
model = torch.load(“vgg_1.pth”)
方法二
torch.save(vgg16.state_dict(),”vgg_2.pth”) 以键值对的形式只保存模型参数,节省内存
vgg16.load_state_dict(torch.load(“vgg_2.pth”)) #加载时需要先知道模型结构,再和模型参数匹配
一、以vgg模型保存和加载为例1234567891011121314151617181920#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Pytorch_learn @File :model_save.py@IDE :PyCharm @Author :咋@Date :2023/7/13 13:19 """import torchimport ...
10.现有模型使用和修改
首先加载模型结构,可以设置pretrained参数设置成是否是在特定数据集上训练好的预训练模型。通过add_module添加模型结构可以根据索引去修改模型结构
1234567891011121314151617181920212223#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@Project :Pytorch_learn @File :vgg16.py@IDE :PyCharm @Author :咋@Date :2023/7/13 12:53 """import torchvisionfrom torch.nn import Linearvgg16 = torchvision.models.vgg16(pretrained=True) # 设置成True即代表是在ImageNet上训练好的预训练模型# 添加模型结构vgg16.classifier.add_module("7",Linear(1000,10))# print(vg ...
9.损失函数负反馈与优化器
损失函数
计算实际输出与目标之间的差距
为我们更新输出提供一定的依据(反向传播)
CROSSENTROPYLOSS(交叉熵)1CLASStorch.nn.CrossEntropyLoss(weight=None, size_average=None, ignore_index=- 100, reduce=None, reduction='mean', label_smoothing=0.0)
weight (Tensor,_ _optional) – a manual rescaling weight given to each class. If given, has to be a Tensor of size C
size_average (bool,_ _optional) – Deprecated (see reduction). By default, the losses are averaged over each loss element in the batch. Note that for some losses, there are ...