首页 > 其他分享 >关于保存自己的权重参数

关于保存自己的权重参数

时间:2023-07-24 17:48:47浏览次数:35  
标签:文件 权重 模型 保存 state 参数 dict my

关于保存自己的权重参数

有的模型自己可以保存权重模型文件,那如果没有自己该怎么保存呢?

首先我们可以先查看一下,人家自带的权重模型文件,一般是 .pt 或 .pth 的文件,运行以下代码:

import torch

my_weights = torch.load(r'权重文件地址')
   
print('len=', len(my_weights.keys()))          
print('keys():', my_weights.keys())             

image-20230724171402036

这是我的权重文件的,有3个键值对,关于 查看 ‘state_dict’ 的部分内容的代码:

print('len= ', len(my_weights['state_dict'].keys()))
print("\n".join(my_weights['state_dict'].keys()))

可以看到, ‘state_dict’ 中有159个键值对。

image-20230724171756738

而 epoch 和 best_acc 的结果是:

image-20230724171917604

这就是你训练模型的权重文件里面的内容了,每个模型的权重文件都不一样,需要自己根据自己模型自带的权重文件进行更改!!!

下面是我保存权重模型的代码:

my_weight = {
        'epoch': args.max_epochs,  #找到你设置epoch的变量名
        'best_acc': val_acc_max,  #同样,也是你模型中的值
        'state_dict': model.state_dict() #主要就是找到这个,训练的参数都在里面!!!
    }

    torch.save(
        my_weight, os.path.join(保存的地址, "my_weight.pt")  #保存模型!!!!
    )
    print("Model Was Saved ! ")  #打印输出提醒

这样,我们自己的权重模型文件就保存好啦!!!后面就可以用自己的权重模型文件啦!!!

标签:文件,权重,模型,保存,state,参数,dict,my
From: https://www.cnblogs.com/Ray-Z/p/17577848.html

相关文章

  • 使用Keras Tuner进行超参数自动调优
    本文将使用Tensorflow中包含的FashionMNIST数据集。该数据集在训练集中包含60,000张灰度图像,在测试集中包含10,000张图像。每张图片代表属于10个类别之一的单品(“T恤/上衣”、“裤子”、“套头衫”等)。因此这是一个多类分类问题。首先我们需要安装keras_tuner,它将......
  • HttpClient-请求参数
    demo:packagetest;importorg.apache.http.client.methods.CloseableHttpResponse;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.CloseableHttpClient;importorg.apache.http.impl.client.HttpClients;importorg.apache.htt......
  • jvm参数调优
    PE29508G 双cpu,每cpu四核,raid1,两个tomcat6.0.14 1.JAVA_OPTS='-server-Xms2560m-Xmx2560m-Xmn768m-XX:PermSize=128m-XX:MaxPermSize=256m<strong>-Xss256k</strong>2.6-XX:+UseConcMarkSweepGC-XX:+UseParNewGC-XX:MaxTenuringThreshold=5......
  • jpa中枚举类型保存和查询
    1,存储枚举字段时,保存在数据库中的值默认情况使用枚举类型的ordinal值,该值是枚举值定义顺序,从0,1,2。。。依次类推@Enumerated(EnumType.ORDINAL)privateSignUpStatusstatus;使用枚举值名称@Enumerated(EnumType.STRING)privateSignUpStatusstatus;2,使用nativesql查询......
  • Ruby Ruport实践—报表参数实现
    此例子在RubyRuport实践—简单报表系统及RubyRuport实践—中文PDF报表之PRAWN 的基础上进行完善,添加了对报表参数的设计及实现。 一、创建数据表report_parameterscreatetablereport_parameters(report_parameter_idintegernotnullauto_increment,report_execute_......
  • 怎么将结果保存到hbase中
    项目方案:将结果保存到Hbase中介绍Hbase是一个分布式、可伸缩的大数据存储系统,适用于处理大规模数据集。本项目方案旨在演示如何将计算结果保存到Hbase中。我们将使用Python编程语言和Happybase库来实现此功能。步骤步骤1:安装Hbase和Python依赖首先,安装Hb......
  • 【遇到一个神奇的问题】暂未想到原因,http.Post 传入 nil参数正确,但是传输值为 nil 的
    出错的代码如下:funcgetEab(ctxcontext.Context,credentialsJSONstring,old*externalAccountKeyResp)(*externalAccountKeyResp,error){//inithttpclient// varpostData*bytes.Reader=nil ifold!=nil{ buf,_:=json.Marshal(old) postData......
  • boss学习笔记 定位参数 zp_stoken
    1.在控制台搜索_$,找到到这个函数  2.在这个地方往下找,找到有return的地方,在这里打上断点,然后就可以点击下一页3.打上断点后,可以看到D的值已经生成了,和本地里面调试对比了很多次,发现这个L就和zp生成有关系,所以本地这里的L一样,代表和浏览器生成的值也是一样的 4.所以可......
  • 2023-07-23:给你 n 个任务和 m 个工人 每个任务需要一定的力量值才能完成 需要的力量值
    2023-07-23:给你n个任务和m个工人每个任务需要一定的力量值才能完成需要的力量值保存在下标从0开始的整数数组tasks中第i个任务需要tasks[i]的力量才能完成每个工人的力量值保存在下标从0开始的整数数组workers中第j个工人的力量值为workers[j]每个工人只......
  • m基于扩频解扩+turbo译码的通信链路matlab误码率仿真,调制对比QPSK,16QAM,64QAM,扩频
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要       基于扩频解扩和Turbo编译码的通信链路误码率仿真,并比较了不同调制方式下的性能。首先,我们详细讨论了实现步骤,包括扩频解扩、调制、编码和译码等。然后,给出了相关的数学公式,包......