Python 板


LINE

更新:补充资料集&code 我的资料集是使用 Free Music Archive 参照的方法是像此网址 https://bit.ly/3aoIbUh 只是我想尝试只用CNN进行分类预测 原始资料如以下,每笔资料的数值都介於 -80~0 [[-33.74863434 -27.84932709 -22.6257019 ... -21.47132492 -19.61938477 -14.22393227] [-16.31633759 -29.69265747 -25.40621376 ... -28.50727081 -11.46302605 -4.04836655] [ -9.1305275 -10.00378227 -28.46733665 ... -23.54629517 -20.91897202 -1.38314819] ... [-63.33175659 -66.34197998 -68.40023804 ... -73.8707428 -68.64536285 -67.72910309] [-67.61167908 -67.59188843 -66.96526337 ... -70.63095856 -74.70448303 -72.90202332] [-71.49047852 -74.54782104 -69.39613342 ... -80. -80. -80. ]] 我所进行的处理是全部取绝对值并标准化到0~1 如下 [[0.42185793] [0.34811659] [0.28282127] ... [0.26839156] [0.24524231] [0.17779915]] [[0.20395422] [0.37115822] [0.31757767] ... [0.35634089] [0.14328783] [0.05060458]] [[0.11413159] [0.12504728] [0.35584171] ... [0.29432869] [0.26148715] [0.01728935]] ... [[0.79164696] [0.82927475] [0.85500298] ... [0.92338428] [0.85806704] [0.84661379]] [[0.84514599] [0.84489861] [0.83706579] ... [0.88288698] [0.93380604] [0.91127529]] [[0.89363098] [0.93184776] [0.86745167] ... [1. ] [1. ] [1. ]] 以下是训练部分完整程式 result=np.load('specarc_128640_8442.npz') spl=result['spec'] tid=result['trackgenre'] #Onthot Encoding from sklearn.preprocessing import LabelEncoder enc = LabelEncoder() temp=tid enc.fit(temp) temp=enc.transform(temp) print(temp) from sklearn.preprocessing import OneHotEncoder ohe=OneHotEncoder() encoded=ohe.fit(temp.reshape(-1,1)) temp=encoded.transform(temp.reshape(-1,1)).toarray() print(temp) print('length:',len(temp)) #给定特徵值&标签 labels = temp Features = spl x_train = Features[:8000] y_train = labels[:8000] x_test = Features[8000:] y_test = labels[8000:] x_train=np.abs(x_train) x_test=np.abs(x_test) x_train = x_train.reshape(8000,128,646,1)/80 x_test = x_test.reshape(442,128,646,1)/80 print(x_train.shape) print(x_train[0].shape) print(x_train[0]) model = Sequential() model.add(Conv2D(16, kernel_size=(5,5), activation='relu',kernel_initializer='random_uniform', input_shape=(128,646,1))) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(BatchNormalization()) model.add(Conv2D(8, kernel_size=(5,5), activation='relu', kernel_initializer='random_uniform', input_shape=(64,321,1))) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(BatchNormalization()) model.add(Flatten()) model.add(Dense(16, activation = 'relu')) model.add(Dropout(0.5)) model.add(Dense(9, activation = 'softmax')) opt=optimizers.Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, amsgrad=False) model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy']) print(model.summary()) ===================================================================== (以下原文) 大家好~ 我目前在尝试用CNN来做图片的分类,不过遇到了一个问题 就是训练出来的模型,只会output同一个结果,因此准确度极低 我的资料集总共有9类,每类包含一千张图片,每张图片大小是128*646 我的程式码和训练结果如图 https://i.imgur.com/j5t84k1.png (图里左下角是实际标签跟预测的值) 可以看到不管input是什麽,模型output的值都一模一样 但同一个模型在跑MNIST这个资料集的分类时,是有九成五的效果 不晓得是哪里出了问题... 我总共尝试过更改: 初始化方法、最佳化方法、损失函数、或是跑更多个epoch但结果都一样 不过当我: 把kernel数量设为1 或是把激发函数设为tanh的时候,预测的值就会不同了 (但准确度只能达到两三成而已) 1.我觉得很疑惑的地方是为什麽kernel数为1时 模型看起来比较有在学习 2.我的图片中的值的范围在0~80,都是正数,为何用tanh会避免单一预测结果 (不过可以观察到tanh的预测结果仍是偏向某个类别) 爬过很多stackoverflow的问题都没有找到可以解决的方法... 在这里向大家请教~希望有人可以解惑 另外先谢谢大家的回答! --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.223.102.205 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1585225821.A.D46.html
1F:→ watashino: 你model太小了吧,mnist图大小也才28x28x1 03/26 21:59
2F:→ watashino: 你光是图片的一个边都比他大了 03/26 21:59
3F:→ watashino: 另外你说图片的值都在0到80之间,建议还是做一下normal 03/26 21:59
4F:→ watashino: ization吧就算只是除80意思一下也会好很多 03/26 21:59
5F:→ watashino: 还有就是你的模型长得大概跟你想得不太一样,基本的东 03/26 21:59
6F:→ watashino: 西先看熟吧 03/26 21:59
感谢建议~ 已经有做过/80,结果是一样的(只会预测单一类别) 另外不太确定W大所谓的太小是指层数太小还是? 目前使用的模型是参考别人分享同资料集的架构,input大小是128*646, 原模型filter数量是很多,但会有单一结果的问题, 所以我才将filter数减少,发现仅在只有1个filter的时候,预测的类别会不一样 主要是不太理解为何有这样的现象
7F:→ watashino: 欸对还有,model连train起来都有问题了不要dropout 03/26 22:00
好的~我再尝试看看
8F:→ zax5566x2: 你input图片蛮大的,可以调大filter试试看吧 03/26 22:04
9F:→ zax5566x2: 我说的是filter数量 03/26 22:05
谢谢建议不过目前的状况是filter>1的时候,会让模型变成无论input为何, output都是同一个值 有试过无论是4,32,56或更大,都会导致这个结果... 希望大大有理解我的问题 另filter数量1这件事情我将他理解为,只能对图片产生1种特徵的判别,所以效果当然 不会多好,不晓得有没有误会? ※ 编辑: chuneee (61.223.102.205 台湾), 03/26/2020 23:29:19 ※ 编辑: chuneee (61.223.102.205 台湾), 03/26/2020 23:32:44
10F:→ watashino: 建议先去翻翻书吧 03/27 01:34
11F:→ watashino: 或看看李弘毅 03/27 01:34
12F:推 karco: 我觉得需要标准化,filter数量也可以调大一点,可以去了解 03/27 02:37
13F:→ karco: filter移动的原理,因为你图片的长宽不同,所以可以去自己 03/27 02:37
14F:→ karco: 调一下size然後加深一点的效果应该会好一点 03/27 02:37
15F:推 Starcraft2: http://speech.ee.ntu.edu.tw/~tlkagk/courses.html 03/27 04:05
16F:→ Starcraft2: 推李弘毅 可以跟3月刚开始的ML课程 还有看他之前 03/27 04:06
17F:→ Starcraft2: youtube channel上的影片集 03/27 04:06
18F:→ Starcraft2: 林轩田的课也推荐 不过比较从数学跟统计的角度切入 03/27 04:07
感谢大家的提供~ 其实这方面已经有仔细阅读过几本Oreilly的书,但会找时间再好好再补一下的 另外是不是我表达能力有问题,大家好像不太理解我的症结点? 目前的状况是 1.图片已经进行标准化 2.filter数量只要设超过1,模型就只会预测同一结果 还是希望有大大能针对这个部分解释,感谢 ※ 编辑: chuneee (61.223.102.205 台湾), 03/27/2020 09:07:08
19F:推 empireisme: 不如请你把程式码和dataset贴上来 03/27 11:02
20F:→ empireisme: 这样大家要改也比较好改 03/27 11:02
好的~已补上,希望有帮助 ※ 编辑: chuneee (61.223.102.205 台湾), 03/27/2020 12:43:05 ※ 编辑: chuneee (61.223.102.205 台湾), 03/27/2020 12:43:58
21F:推 watashino: 我再强调一次 你应该不知道自己每一层的output shape 03/27 14:36
22F:→ watashino: 是甚麽 03/27 14:36
23F:→ watashino: 你conv接linear那边从10000多维直接降到16维我不确定是 03/27 14:36
24F:→ watashino: 不是导致了这个原因,可以修的地方很多所以才建议你先 03/27 14:36
25F:→ watashino: 翻书或者是找一个好一点的model跟着做做看 03/27 14:36
26F:推 Ryspon: 把第二个 Conv2D 的 input shape 拿掉试试看 03/28 03:27
感谢提供调整方向,的确在inputshape的部分有点问题,虽然详细还在重看 但因为我另外还有遇到某些时候padding会有问题,避免Error似乎把模型改的有点问题 换成另一个build model的方法(不使用.add)并加大kernel数量後 就可以正常学习跟预测了,感谢大家的帮助 ※ 编辑: chuneee (36.234.135.138 台湾), 03/29/2020 21:54:39







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP