每历时损耗方程:Pytorch

如何解决每历时损耗方程:Pytorch

我是Pytorch的新手,如果我的每个历元方程式正确与否,我会感到困惑,因为我的val_loss低于train_loss。代码如下。

from torch import optim
def fit(train_dl,model,test_dl=None,epoch=1000,lr=0.001):

  criterion = nn.CrossEntropyLoss()
  optimizer = optim.SGD(model.parameters(),lr=0.001,momentum=0.9)

  for epoch in range(epoch):  
      running_loss = 0.0
      model.train()
      for i,(inputs,labels) in enumerate(train_dl):

          optimizer.zero_grad()

          outputs = model(inputs)
          loss = criterion(outputs,labels)

          loss.backward()
          optimizer.step()
          running_loss += loss.item()*inputs.size(0)

          # if i % 2000 == 1999:    
          #     print('[%d,%5d] loss: %.3f' %
          #           (epoch + 1,i + 1,running_loss/2000))
          #     running_loss = 0.0
      print("Epoch: ",epoch+1)
      print("Train Loss: ",running_loss/len(train_dl.sampler))


      if test_dl is not None:
          model.eval()
          running_loss = 0
          for i,labels) in enumerate(test_dl):
              outputs = model(inputs)
              loss = criterion(outputs,labels)             
              running_loss += loss.item()*inputs.size(0)
          print("Validation Loss: ",running_loss/len(test_dl.sampler))
      print("\n"*2)

  print('Finished Training')

每周期火车和val数据的损失如下。

Epoch:  1

Train Loss:  1.1405704270362853

Validation Loss:  0.6346351503372193



Epoch:  2

Train Loss:  1.109910039997101

Validation Loss:  0.6700555039405822



Epoch:  3

Train Loss:  1.0855869434356689

Validation Loss:  0.5310997007369995



Epoch:  4

Train Loss:  1.0623883997917176

Validation Loss:  0.5400820639610291



Epoch:  5

Train Loss:  1.040262179851532

Validation Loss:  0.596698025226593



Epoch:  6

Train Loss:  1.0253396962165833

Validation Loss:  0.5367399935722351



Epoch:  7

Train Loss:  1.0021697312355042

Validation Loss:  0.48242439060211184



Epoch:  8

Train Loss:  0.9849149712562562

Validation Loss:  0.46645955047607424



Epoch:  9

Train Loss:  0.9655076077461243

Validation Loss:  0.5602270641326904



Epoch:  10

Train Loss:  0.9523622084617615

Validation Loss:  0.49749606523513795



Epoch:  11

Train Loss:  0.9366362886428833

Validation Loss:  0.4111686680316925



Epoch:  12

Train Loss:  0.9228082064628601

Validation Loss:  0.47805821266174314



Epoch:  13

Train Loss:  0.9069208443641663

Validation Loss:  0.3824161283493042



Epoch:  14

Train Loss:  0.8945751609802246

Validation Loss:  0.5301653007507324



Epoch:  15

Train Loss:  0.8807038812637329

Validation Loss:  0.41203391284942625



Epoch:  16

Train Loss:  0.8668060901641845

Validation Loss:  0.4474089996814728



Epoch:  17

Train Loss:  0.853671452999115

Validation Loss:  0.5498352452278137



Epoch:  18

Train Loss:  0.8409735582351685

Validation Loss:  0.3281970458984375



Epoch:  19

Train Loss:  0.8269806921958923

Validation Loss:  0.3685186356544495



Epoch:  20

Train Loss:  0.8118648974895477

Validation Loss:  0.4514490584373474



Finished Training

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-