码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MATLAB 的trainNetwork变化


    1 问题

    从2018版开始用深度学习功能,matlab的函数在不断的演化,老程序就不能用了。

    net = trainNetwork(XTrain,YTrain,layers,options);
    原来Xtrain 可以为4d数据,Ytrain 为数据标签。

    现在xtrain需要为2dcell数据

     Ytrain 没有变化

     如果在新版本使用,可以有2种方法

    1 转为图片;

    2 使用aug

    %test
    imageSize = [28 28 1];
    augimds = augmentedImageDatastore(imageSize,XTrain,YTrain);

    2 使用方法

    转为cell数组

    1. % 转换数据 20220930
    2. % imageSize = [28 28 1];
    3. % augimds = augmentedImageDatastore(imageSize,train,train_label);
    4. %转为cell 数组
    5. Xtrain=cell(size(train,4),1);
    6. Xval=cell(size(Vali,4),1);
    7. Xtest=cell(size(test,4),1);
    8. %赋值
    9. for i=1:size(train,4)
    10. Xtrain{i}=train(:,:,1,i);
    11. end
    12. for i=1:size(Vali,4)
    13. Xval{i}=Vali(:,:,1,i);
    14. end
    15. for i=1:size(test,4)
    16. Xtest{i}=test(:,:,1,i);
    17. end

    问题发现在于 option设置不对

    原来的option为这个。。

    miniBatchSize = 64;
    validationFrequency = floor(numel(train_label)/miniBatchSize);
    %修改为adam
    options = trainingOptions('sgdm', ...
        'InitialLearnRate',0.005, ...
        'MaxEpochs',15, ...
        'Shuffle','every-epoch', ...
        'ValidationData',{Xval,Vali_label}, ...
        'ValidationFrequency',validationFrequency, ...
        'Verbose',false, ...
        'Plots','training-progress');

    简化的option可以运行

    options = trainingOptions('sgdm', 'Plots', 'training-progress');
    % train the network
     Anet  = trainNetwork(train,train_label,layers,options);

    是修改程序 导致 验证集的 大小不匹配。看了trainnetwork 源码 才意识到。

  • 相关阅读:
    【代码随想录算法训练营】第41天 | 第九章 动态规划(三)+ 复习第11天 第五章 栈与队列(一)
    垃圾回收机制
    2022秋招,Java框架最全面试攻略,吃透32个必问题直接速通大厂
    SSL证书的分类有哪些?如何选择合适的SSL证书?
    Qt信号和槽 定时器
    Linux的权限管理操作(权限设置chmod、属主chown与所组设置chgrp)
    四六级成绩查询方法及相关问题解答(全网最贴心版)
    如何正确使用手提电动打包机
    React-组件生命周期
    C语言练习百题之#include应用
  • 原文地址:https://blog.csdn.net/jaz/article/details/127117940
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号