ImageNet 2012 中文标签(Chinese Labels)

部署运行你感兴趣的模型镜像

部分为机器翻译,可能存在个别不准确的翻译

[python]  view plain  copy
  1. n01440764,丁鲷  
  2. n01443537,金鱼  
  3. n01484850,大白鲨  
  4. n01491361,虎鲨  
  5. n01494475,锤头鲨  
  6. n01496331,电鳐  
  7. n01498041,黄貂鱼  
  8. n01514668,公鸡  
  9. n01514859,母鸡  
  10. n01518878,鸵鸟  
  11. n01530575,燕雀  
  12. n01531178,金翅雀  
  13. n01532829,家朱雀  
  14. n01534433,灯芯草雀  
  15. n01537544,靛蓝雀,靛蓝鸟  
  16. n01558993,蓝鹀  
  17. n01560419,夜莺   
  18. n01580077,松鸦  
  19. n01582220,喜鹊  
  20. n01592084,山雀  
  21. n01601694,河鸟  
  22. n01608432,鸢(猛禽)  
  23. n01614925,秃头鹰  
  24. n01616318,秃鹫  
  25. n01622779,大灰猫头鹰  
  26. n01629819,欧洲火蝾螈  
  27. n01630670,普通蝾螈  
  28. n01631663,水蜥  
  29. n01632458,斑点蝾螈  
  30. n01632777,蝾螈,泥狗  
  31. n01641577,牛蛙  
  32. n01644373,树蛙  
  33. n01644900,尾蛙,铃蟾蜍,肋蟾蜍,尾蟾蜍  
  34. n01664065,红海龟  
  35. n01665541,皮革龟  
  36. n01667114,泥龟  
  37. n01667778,淡水龟  
  38. n01669191,箱龟  
  39. n01675722,带状壁虎  
  40. n01677366,普通鬣蜥  
  41. n01682714,美国变色龙  
  42. n01685808,鞭尾蜥蜴  
  43. n01687978,飞龙科蜥蜴  
  44. n01688243,褶边蜥蜴  
  45. n01689811,鳄鱼蜥蜴  
  46. n01692333,毒蜥  
  47. n01693334,绿蜥蜴  
  48. n01694178,非洲变色龙  
  49. n01695060,科莫多蜥蜴  
  50. n01697457,非洲鳄,尼罗河鳄鱼  
  51. n01698640,美国鳄鱼,鳄鱼  
  52. n01704323,三角龙  
  53. n01728572,雷蛇,蠕虫蛇  
  54. n01728920,环蛇,环颈蛇  
  55. n01729322,希腊蛇  
  56. n01729977,绿蛇,草蛇  
  57. n01734418,国王蛇  
  58. n01735189,袜带蛇,草蛇  
  59. n01737021,水蛇  
  60. n01739381,藤蛇  
  61. n01740131,夜蛇  
  62. n01742172,大蟒蛇  
  63. n01744401,岩石蟒蛇,岩蛇,蟒蛇  
  64. n01748264,印度眼镜蛇  
  65. n01749939,绿曼巴  
  66. n01751748,海蛇  
  67. n01753488,角腹蛇  
  68. n01755581,菱纹响尾蛇  
  69. n01756291,角响尾蛇  
  70. n01768244,三叶虫  
  71. n01770081,盲蜘蛛  
  72. n01770393,蝎子  
  73. n01773157,黑金花园蜘蛛  
  74. n01773549,谷仓蜘蛛  
  75. n01773797,花园蜘蛛  
  76. n01774384,黑寡妇蜘蛛  
  77. n01774750,狼蛛  
  78. n01775062,狼蜘蛛,狩猎蜘蛛  
  79. n01776313,壁虱  
  80. n01784675,蜈蚣  
  81. n01795545,黑松鸡  
  82. n01796340,松鸡,雷鸟  
  83. n01797886,披肩鸡,披肩榛鸡  
  84. n01798484,草原鸡,草原松鸡  
  85. n01806143,孔雀  
  86. n01806567,鹌鹑  
  87. n01807496,鹧鸪  
  88. n01817953,非洲灰鹦鹉  
  89. n01818515,金刚鹦鹉  
  90. n01819313,硫冠鹦鹉  
  91. n01820546,短尾鹦鹉  
  92. n01824575,褐翅鸦鹃  
  93. n01828970,蜜蜂  
  94. n01829413,犀鸟  
  95. n01833805,蜂鸟  
  96. n01843065,鹟䴕  
  97. n01843383,犀鸟  
  98. n01847000,野鸭  
  99. n01855032,红胸秋沙鸭  
  100. n01855672,鹅  
  101. n01860187,黑天鹅  
  102. n01871265,大象  
  103. n01872401,针鼹鼠  
  104. n01873310,鸭嘴兽  
  105. n01877812,沙袋鼠  
  106. n01882714,考拉,考拉熊  
  107. n01883070,袋熊  
  108. n01910747,水母  
  109. n01914609,海葵  
  110. n01917289,脑珊瑚  
  111. n01924916,扁形虫扁虫  
  112. n01930112,线虫,蛔虫  
  113. n01943899,海螺  
  114. n01944390,蜗牛  
  115. n01945685,鼻涕虫  
  116. n01950731,海参  
  117. n01955084,石鳖  
  118. n01968897,鹦鹉螺  
  119. n01978287,珍宝蟹  
  120. n01978455,石蟹  
  121. n01980166,招潮蟹  
  122. n01981276,帝王蟹,阿拉斯加蟹,阿拉斯加帝王蟹  
  123. n01983481,美国龙虾,缅因州龙虾  
  124. n01984695,大螯虾  
  125. n01985128,小龙虾  
  126. n01986214,寄居蟹  
  127. n01990800,等足目动物(明虾和螃蟹近亲)  
  128. n02002556,白鹳  
  129. n02002724,黑鹳  
  130. n02006656,鹭  
  131. n02007558,火烈鸟  
  132. n02009229,小蓝鹭  
  133. n02009912,美国鹭,大白鹭  
  134. n02011460,麻鸦  
  135. n02012849,鹤  
  136. n02013706,秧鹤  
  137. n02017213,欧洲水鸡,紫水鸡  
  138. n02018207,沼泽泥母鸡,水母鸡  
  139. n02018795,鸨  
  140. n02025239,红翻石鹬  
  141. n02027492,红背鹬,黑腹滨鹬  
  142. n02028035,红脚鹬  
  143. n02033041,半蹼鹬  
  144. n02037110,蛎鹬  
  145. n02051845,鹈鹕  
  146. n02056570,国王企鹅  
  147. n02058221,信天翁,大海鸟  
  148. n02066245,灰鲸  
  149. n02071294,杀人鲸,逆戟鲸,虎鲸  
  150. n02074367,海牛  
  151. n02077923,海狮  
  152. n02085620,奇瓦瓦  
  153. n02085782,日本猎犬  
  154. n02085936,马尔济斯犬  
  155. n02086079,狮子狗  
  156. n02086240,西施犬  
  157. n02086646,布莱尼姆猎犬  
  158. n02086910,巴比狗  
  159. n02087046,玩具犬  
  160. n02087394,罗得西亚长背猎狗  
  161. n02088094,阿富汗猎犬  
  162. n02088238,猎犬  
  163. n02088364,比格犬,猎兔犬  
  164. n02088466,侦探犬  
  165. n02088632,蓝色快狗  
  166. n02089078,黑褐猎浣熊犬  
  167. n02089867,沃克猎犬  
  168. n02089973,英国猎狐犬  
  169. n02090379,美洲赤狗  
  170. n02090622,俄罗斯猎狼犬  
  171. n02090721,爱尔兰猎狼犬  
  172. n02091032,意大利灰狗  
  173. n02091134,惠比特犬  
  174. n02091244,依比沙猎犬  
  175. n02091467,挪威猎犬  
  176. n02091635,奥达猎犬,水獭猎犬  
  177. n02091831,沙克犬,瞪羚猎犬  
  178. n02092002,苏格兰猎鹿犬,猎鹿犬  
  179. n02092339,威玛猎犬  
  180. n02093256,斯塔福德郡牛头梗,斯塔福德郡斗牛梗  
  181. n02093428,美国斯塔福德郡梗,美国比特斗牛梗,斗牛梗  
  182. n02093647,贝德灵顿梗  
  183. n02093754,边境梗  
  184. n02093859,凯丽蓝梗  
  185. n02093991,爱尔兰梗  
  186. n02094114,诺福克梗  
  187. n02094258,诺维奇梗  
  188. n02094433,约克郡梗  
  189. n02095314,刚毛猎狐梗  
  190. n02095570,莱克兰梗  
  191. n02095889,锡利哈姆梗  
  192. n02096051,艾尔谷犬  
  193. n02096177,凯恩梗  
  194. n02096294,澳大利亚梗  
  195. n02096437,丹迪丁蒙梗  
  196. n02096585,波士顿梗  
  197. n02097047,迷你雪纳瑞犬  
  198. n02097130,巨型雪纳瑞犬  
  199. n02097209,标准雪纳瑞犬  
  200. n02097298,苏格兰梗  
  201. n02097474,西藏梗,菊花狗  
  202. n02097658,丝毛梗  
  203. n02098105,软毛麦色梗  
  204. n02098286,西高地白梗  
  205. n02098413,拉萨阿普索犬  
  206. n02099267,平毛寻回犬  
  207. n02099429,卷毛寻回犬  
  208. n02099601,金毛猎犬  
  209. n02099712,拉布拉多猎犬  
  210. n02099849,乞沙比克猎犬  
  211. n02100236,德国短毛猎犬  
  212. n02100583,维兹拉犬  
  213. n02100735,英国谍犬  
  214. n02100877,爱尔兰雪达犬,红色猎犬  
  215. n02101006,戈登雪达犬  
  216. n02101388,布列塔尼犬猎犬  
  217. n02101556,黄毛,黄毛猎犬  
  218. n02102040,英国史宾格犬  
  219. n02102177,威尔士史宾格犬  
  220. n02102318,可卡犬,英国可卡犬  
  221. n02102480,萨塞克斯猎犬  
  222. n02102973,爱尔兰水猎犬  
  223. n02104029,哥威斯犬  
  224. n02104365,舒柏奇犬  
  225. n02105056,比利时牧羊犬  
  226. n02105162,马里努阿犬  
  227. n02105251,伯瑞犬  
  228. n02105412,凯尔皮犬  
  229. n02105505,匈牙利牧羊犬  
  230. n02105641,老英国牧羊犬  
  231. n02105855,喜乐蒂牧羊犬  
  232. n02106030,牧羊犬  
  233. n02106166,边境牧羊犬  
  234. n02106382,法兰德斯牧牛狗  
  235. n02106550,罗特韦尔犬  
  236. n02106662,德国牧羊犬,德国警犬,阿尔萨斯  
  237. n02107142,多伯曼犬,杜宾犬  
  238. n02107312,迷你杜宾犬  
  239. n02107574,大瑞士山地犬  
  240. n02107683,伯恩山犬  
  241. n02107908,Appenzeller狗  
  242. n02108000,EntleBucher狗  
  243. n02108089,拳师狗  
  244. n02108422,斗牛獒  
  245. n02108551,藏獒  
  246. n02108915,法国斗牛犬  
  247. n02109047,大丹犬  
  248. n02109525,圣伯纳德狗  
  249. n02109961,爱斯基摩犬,哈士奇  
  250. n02110063,雪橇犬,阿拉斯加爱斯基摩狗  
  251. n02110185,哈士奇  
  252. n02110341,达尔马提亚,教练车狗  
  253. n02110627,狮毛狗  
  254. n02110806,巴辛吉狗  
  255. n02110958,哈巴狗,狮子狗  
  256. n02111129,莱昂贝格狗  
  257. n02111277,纽芬兰岛狗  
  258. n02111500,大白熊犬  
  259. n02111889,萨摩耶犬  
  260. n02112018,博美犬  
  261. n02112137,松狮,松狮  
  262. n02112350,荷兰卷尾狮毛狗  
  263. n02112706,布鲁塞尔格林芬犬  
  264. n02113023,彭布洛克威尔士科基犬  
  265. n02113186,威尔士柯基犬  
  266. n02113624,玩具贵宾犬  
  267. n02113712,迷你贵宾犬  
  268. n02113799,标准贵宾犬  
  269. n02113978,墨西哥无毛犬  
  270. n02114367,灰狼  
  271. n02114548,白狼,北极狼  
  272. n02114712,红太狼,鬃狼,犬犬鲁弗斯  
  273. n02114855,狼,草原狼,刷狼,郊狼  
  274. n02115641,澳洲野狗,澳大利亚野犬  
  275. n02115913,豺  
  276. n02116738,非洲猎犬,土狼犬  
  277. n02117135,鬣狗  
  278. n02119022,红狐狸  
  279. n02119789,沙狐  
  280. n02120079,北极狐狸,白狐狸  
  281. n02120505,灰狐狸  
  282. n02123045,虎斑猫  
  283. n02123159,山猫,虎猫  
  284. n02123394,波斯猫  
  285. n02123597,暹罗暹罗猫,  
  286. n02124075,埃及猫  
  287. n02125311,美洲狮,美洲豹  
  288. n02127052,猞猁,山猫  
  289. n02128385,豹子  
  290. n02128757,雪豹  
  291. n02128925,美洲虎  
  292. n02129165,狮子  
  293. n02129604,老虎  
  294. n02130308,猎豹  
  295. n02132136,棕熊  
  296. n02133161,美洲黑熊  
  297. n02134084,冰熊,北极熊  
  298. n02134418,懒熊  
  299. n02137549,猫鼬  
  300. n02138441,猫鼬,海猫  
  301. n02165105,虎甲虫  
  302. n02165456,瓢虫  
  303. n02167151,土鳖虫  
  304. n02168699,天牛  
  305. n02169497,龟甲虫  
  306. n02172182,粪甲虫  
  307. n02174001,犀牛甲虫  
  308. n02177972,象甲  
  309. n02190166,苍蝇  
  310. n02206856,蜜蜂  
  311. n02219486,蚂蚁  
  312. n02226429,蚱蜢  
  313. n02229544,蟋蟀  
  314. n02231487,竹节虫  
  315. n02233338,蟑螂  
  316. n02236044,螳螂  
  317. n02256656,蝉  
  318. n02259212,叶蝉  
  319. n02264363,草蜻蛉  
  320. n02268443,蜻蜓  
  321. n02268853,豆娘,蜻蛉  
  322. n02276258,优红蛱蝶  
  323. n02277742,小环蝴蝶  
  324. n02279972,君主蝴蝶,大斑蝶  
  325. n02280649,菜粉蝶  
  326. n02281406,白蝴蝶  
  327. n02281787,灰蝶  
  328. n02317335,海星  
  329. n02319095,海胆  
  330. n02321529,海参,海黄瓜  
  331. n02325366,野兔  
  332. n02326432,兔  
  333. n02328150,安哥拉兔  
  334. n02342885,仓鼠  
  335. n02346627,刺猬,豪猪,  
  336. n02356798,黑松鼠  
  337. n02361337,土拨鼠  
  338. n02363005,海狸  
  339. n02364673,豚鼠,豚鼠  
  340. n02389026,栗色马  
  341. n02391049,斑马  
  342. n02395406,猪  
  343. n02396427,野猪  
  344. n02397096,疣猪  
  345. n02398521,河马  
  346. n02403003,牛  
  347. n02408429,水牛,亚洲水牛  
  348. n02410509,野牛  
  349. n02412080,公羊  
  350. n02415577,大角羊,洛矶山大角羊  
  351. n02417914,山羊  
  352. n02422106,狷羚  
  353. n02422699,黑斑羚  
  354. n02423022,瞪羚  
  355. n02437312,阿拉伯单峰骆驼,骆驼  
  356. n02437616,骆驼  
  357. n02441942,黄鼠狼  
  358. n02442845,水貂  
  359. n02443114,臭猫  
  360. n02443484,黑足鼬  
  361. n02444819,水獭  
  362. n02445715,臭鼬,木猫  
  363. n02447366,獾  
  364. n02454379,犰狳  
  365. n02457408,树懒  
  366. n02480495,猩猩,婆罗洲猩猩  
  367. n02480855,大猩猩  
  368. n02481823,黑猩猩  
  369. n02483362,长臂猿  
  370. n02483708,合趾猿长臂猿,合趾猿  
  371. n02484975,长尾猴  
  372. n02486261,赤猴  
  373. n02486410,狒狒  
  374. n02487347,恒河猴,猕猴  
  375. n02488291,白头叶猴  
  376. n02488702,疣猴  
  377. n02489166,长鼻猴  
  378. n02490219,狨(美洲产小型长尾猴)  
  379. n02492035,卷尾猴  
  380. n02492660,吼猴  
  381. n02493509,伶猴  
  382. n02493793,蜘蛛猴  
  383. n02494079,松鼠猴  
  384. n02497673,马达加斯加环尾狐猴,鼠狐猴  
  385. n02500267,大狐猴,马达加斯加大狐猴  
  386. n02504013,印度大象,亚洲象  
  387. n02504458,非洲象,非洲象  
  388. n02509815,小熊猫  
  389. n02510455,大熊猫  
  390. n02514041,杖鱼  
  391. n02526121,鳗鱼  
  392. n02536864,银鲑,银鲑鱼  
  393. n02606052,三色刺蝶鱼  
  394. n02607072,海葵鱼  
  395. n02640242,鲟鱼  
  396. n02641379,雀鳝  
  397. n02643566,狮子鱼  
  398. n02655020,河豚  
  399. n02666196,算盘  
  400. n02667093,长袍  
  401. n02669723,学位袍  
  402. n02672831,手风琴  
  403. n02676566,原声吉他  
  404. n02687172,航空母舰  
  405. n02690373,客机  
  406. n02692877,飞艇  
  407. n02699494,祭坛  
  408. n02701002,救护车  
  409. n02704792,水陆两用车  
  410. n02708093,模拟时钟  
  411. n02727426,蜂房  
  412. n02730930,围裙  
  413. n02747177,垃圾桶  
  414. n02749479,攻击步枪,枪  
  415. n02769748,背包  
  416. n02776631,面包店,面包铺,  
  417. n02777292,平衡木  
  418. n02782093,热气球  
  419. n02783161,圆珠笔  
  420. n02786058,创可贴  
  421. n02787622,班卓琴  
  422. n02788148,栏杆,楼梯扶手  
  423. n02790996,杠铃  
  424. n02791124,理发师的椅子  
  425. n02791270,理发店  
  426. n02793495,牲口棚  
  427. n02794156,晴雨表  
  428. n02795169,圆筒  
  429. n02797295,园地小车,手推车  
  430. n02799071,棒球  
  431. n02802426,篮球  
  432. n02804414,婴儿床  
  433. n02804610,巴松管,低音管  
  434. n02807133,游泳帽  
  435. n02808304,沐浴毛巾  
  436. n02808440,浴缸,澡盆  
  437. n02814533,沙滩车,旅行车  
  438. n02814860,灯塔  
  439. n02815834,高脚杯  
  440. n02817516,熊皮高帽  
  441. n02823428,啤酒瓶  
  442. n02823750,啤酒杯   
  443. n02825657,钟塔  
  444. n02834397,(小儿用的)围嘴  
  445. n02835271,串联自行车,  
  446. n02837789,比基尼  
  447. n02840245,装订册  
  448. n02841315,双筒望远镜  
  449. n02843684,鸟舍  
  450. n02859443,船库  
  451. n02860847,雪橇  
  452. n02865351,饰扣式领带  
  453. n02869837,阔边女帽  
  454. n02870880,书橱  
  455. n02871525,书店,书摊  
  456. n02877765,瓶盖  
  457. n02879718,弓箭  
  458. n02883205,蝴蝶结领结  
  459. n02892201,铜制牌位  
  460. n02892767,奶罩  
  461. n02894605,防波堤,海堤  
  462. n02895154,铠甲  
  463. n02906734,扫帚  
  464. n02909870,桶  
  465. n02910353,扣环  
  466. n02916936,防弹背心  
  467. n02917067,动车,子弹头列车  
  468. n02927161,肉铺,肉菜市场  
  469. n02930766,出租车  
  470. n02939185,大锅  
  471. n02948072,蜡烛  
  472. n02950826,大炮  
  473. n02951358,独木舟  
  474. n02951585,开瓶器,开罐器  
  475. n02963159,开衫  
  476. n02965783,车镜  
  477. n02966193,旋转木马  
  478. n02966687,木匠的工具包,工具包  
  479. n02971356,纸箱  
  480. n02974003,车轮  
  481. n02977058,取款机,自动取款机  
  482. n02978881,盒式录音带  
  483. n02979186,卡带播放器  
  484. n02980441,城堡  
  485. n02981792,双体船  
  486. n02988304,CD播放器  
  487. n02992211,大提琴  
  488. n02992529,移动电话,手机  
  489. n02999410,铁链  
  490. n03000134,围栏  
  491. n03000247,链甲  
  492. n03000684,电锯,油锯  
  493. n03014705,箱子  
  494. n03016953,衣柜,洗脸台  
  495. n03017168,编钟,钟,锣  
  496. n03018349,中国橱柜  
  497. n03026506,圣诞袜  
  498. n03028079,教堂,教堂建筑  
  499. n03032252,电影院,剧场  
  500. n03041632,切肉刀,菜刀  
  501. n03042490,悬崖屋  
  502. n03045698,斗篷  
  503. n03047690,木屐,木鞋  
  504. n03062245,鸡尾酒调酒器  
  505. n03063599,咖啡杯  
  506. n03063689,咖啡壶  
  507. n03065424,螺旋结构(楼梯)  
  508. n03075370,组合锁  
  509. n03085013,电脑键盘,键盘  
  510. n03089624,糖果,糖果店  
  511. n03095699,集装箱船  
  512. n03100240,敞篷车  
  513. n03109150,开瓶器,瓶螺杆  
  514. n03110669,短号,喇叭  
  515. n03124043,牛仔靴  
  516. n03124170,牛仔帽  
  517. n03125729,摇篮  
  518. n03126707,起重机  
  519. n03127747,头盔  
  520. n03127925,板条箱  
  521. n03131574,小儿床  
  522. n03133878,砂锅  
  523. n03134739,槌球  
  524. n03141823,拐杖  
  525. n03146219,胸甲  
  526. n03160309,大坝,堤防  
  527. n03179701,书桌  
  528. n03180011,台式电脑  
  529. n03187595,有线电话  
  530. n03188531,尿布湿  
  531. n03196217,数字时钟  
  532. n03197337,数字手表  
  533. n03201208,餐桌板  
  534. n03207743,抹布  
  535. n03207941,洗碗机,洗碟机  
  536. n03208938,盘式制动器  
  537. n03216828,码头,船坞,码头设施  
  538. n03218198,狗拉雪橇  
  539. n03220513,圆顶  
  540. n03223299,门垫,垫子  
  541. n03240683,钻井平台,海上钻井  
  542. n03249569,鼓,乐器,鼓膜  
  543. n03250847,鼓槌  
  544. n03255030,哑铃  
  545. n03259280,荷兰烤箱  
  546. n03271574,电风扇,鼓风机  
  547. n03272010,电吉他  
  548. n03272562,电力机车  
  549. n03290653,电视,电视柜  
  550. n03291819,信封  
  551. n03297495,浓缩咖啡机  
  552. n03314780,扑面粉  
  553. n03325584,女用长围巾  
  554. n03337140,文件,文件柜,档案柜  
  555. n03344393,消防船  
  556. n03345487,消防车  
  557. n03347037,火炉栏  
  558. n03355925,旗杆  
  559. n03372029,长笛  
  560. n03376595,折叠椅  
  561. n03379051,橄榄球头盔  
  562. n03384352,叉车  
  563. n03388043,喷泉  
  564. n03388183,钢笔  
  565. n03388549,有四根帷柱的床  
  566. n03393912,运货车厢  
  567. n03394916,圆号,喇叭  
  568. n03400231,煎锅  
  569. n03404251,裘皮大衣  
  570. n03417042,垃圾车  
  571. n03424325,防毒面具,呼吸器  
  572. n03425413,汽油泵  
  573. n03443371,高脚杯  
  574. n03444034,卡丁车  
  575. n03445777,高尔夫球  
  576. n03445924,高尔夫球车  
  577. n03447447,狭长小船  
  578. n03447721,锣  
  579. n03450230,礼服  
  580. n03452741,钢琴  
  581. n03457902,温室,苗圃  
  582. n03459775,散热器格栅  
  583. n03461385,杂货店,食品市场  
  584. n03467068,断头台  
  585. n03476684,小发夹  
  586. n03476991,头发喷雾  
  587. n03478589,半履带装甲车  
  588. n03481172,锤子  
  589. n03482405,大篮子  
  590. n03483316,手摇鼓风机,吹风机  
  591. n03485407,手提电脑  
  592. n03485794,手帕  
  593. n03492542,硬盘  
  594. n03494278,口琴,口风琴  
  595. n03495258,竖琴  
  596. n03496892,收割机  
  597. n03498962,斧头  
  598. n03527444,手枪皮套  
  599. n03529860,家庭影院  
  600. n03530642,蜂窝  
  601. n03532672,钩爪  
  602. n03534580,衬裙  
  603. n03535780,单杠  
  604. n03538406,马车  
  605. n03544143,沙漏  
  606. n03584254,iPod  
  607. n03584829,熨斗  
  608. n03590841,南瓜灯笼  
  609. n03594734,牛仔裤,蓝色牛仔裤  
  610. n03594945,吉普车  
  611. n03595614,运动衫,T恤  
  612. n03598930,拼图  
  613. n03599486,人力车  
  614. n03602883,操纵杆  
  615. n03617480,和服  
  616. n03623198,护膝  
  617. n03627232,蝴蝶结  
  618. n03630383,大褂,实验室外套  
  619. n03633091,长柄勺  
  620. n03637318,灯罩  
  621. n03642806,笔记本电脑  
  622. n03649909,割草机  
  623. n03657121,镜头盖  
  624. n03658185,开信刀,裁纸刀  
  625. n03661043,图书馆  
  626. n03662601,救生艇  
  627. n03666591,点火器,打火机  
  628. n03670208,豪华轿车  
  629. n03673027,远洋班轮  
  630. n03676483,唇膏,口红  
  631. n03680355,平底便鞋  
  632. n03690938,洗剂  
  633. n03691459,扬声器  
  634. n03692522,放大镜  
  635. n03697007,锯木厂  
  636. n03706229,磁罗盘  
  637. n03709823,邮袋  
  638. n03710193,信箱  
  639. n03710637,女游泳衣  
  640. n03710721,有肩带浴衣  
  641. n03717622,窨井盖  
  642. n03720891,沙球(一种打击乐器)  
  643. n03721384,马林巴木琴  
  644. n03724870,面膜  
  645. n03729826,火柴  
  646. n03733131,花柱  
  647. n03733281,迷宫  
  648. n03733805,量杯  
  649. n03742115,药箱  
  650. n03743016,巨石,巨石结构  
  651. n03759954,麦克风  
  652. n03761084,微波炉  
  653. n03763968,军装  
  654. n03764736,奶桶  
  655. n03769881,迷你巴士  
  656. n03770439,迷你裙  
  657. n03770679,面包车  
  658. n03773504,导弹  
  659. n03775071,连指手套  
  660. n03775546,搅拌钵  
  661. n03776460,活动房屋(由汽车拖拉的)  
  662. n03777568,T型发动机小汽车  
  663. n03777754,调制解调器  
  664. n03781244,修道院  
  665. n03782006,显示器  
  666. n03785016,电瓶车  
  667. n03786901,砂浆  
  668. n03787032,学士  
  669. n03788195,清真寺  
  670. n03788365,蚊帐  
  671. n03791053,摩托车  
  672. n03792782,山地自行车  
  673. n03792972,登山帐  
  674. n03793489,鼠标,电脑鼠标  
  675. n03794056,捕鼠器  
  676. n03796401,搬家车  
  677. n03803284,口套  
  678. n03804744,钉子  
  679. n03814639,颈托  
  680. n03814906,项链  
  681. n03825788,乳头(瓶)  
  682. n03832673,笔记本,笔记本电脑  
  683. n03837869,方尖碑  
  684. n03838899,双簧管  
  685. n03840681,陶笛,卵形笛  
  686. n03841143,里程表  
  687. n03843555,滤油器  
  688. n03854065,风琴,管风琴  
  689. n03857828,示波器  
  690. n03866082,罩裙  
  691. n03868242,牛车  
  692. n03868863,氧气面罩  
  693. n03871628,包装  
  694. n03873416,船桨  
  695. n03874293,明轮,桨轮  
  696. n03874599,挂锁,扣锁  
  697. n03876231,画笔  
  698. n03877472,睡衣  
  699. n03877845,宫殿  
  700. n03884397,排箫,鸣管  
  701. n03887697,纸巾  
  702. n03888257,降落伞  
  703. n03888605,双杠  
  704. n03891251,公园长椅  
  705. n03891332,停车收费表,停车计时器  
  706. n03895866,客车,教练车  
  707. n03899768,露台,阳台  
  708. n03902125,付费电话  
  709. n03903868,基座,基脚  
  710. n03908618,铅笔盒  
  711. n03908714,卷笔刀  
  712. n03916031,香水(瓶)  
  713. n03920288,培养皿  
  714. n03924679,复印机  
  715. n03929660,拨弦片,拨子  
  716. n03929855,尖顶头盔  
  717. n03930313,栅栏,栅栏  
  718. n03930630,皮卡,皮卡车  
  719. n03933933,桥墩  
  720. n03935335,存钱罐  
  721. n03937543,药瓶  
  722. n03938244,枕头  
  723. n03942813,乒乓球  
  724. n03944341,风车  
  725. n03947888,海盗船  
  726. n03950228,水罐  
  727. n03954731,木工刨  
  728. n03956157,天文馆  
  729. n03958227,塑料袋  
  730. n03961711,板架  
  731. n03967562,犁型铲雪机  
  732. n03970156,手压皮碗泵  
  733. n03976467,宝丽来相机  
  734. n03976657,电线杆  
  735. n03977966,警车,巡逻车  
  736. n03980874,雨披  
  737. n03982430,台球桌  
  738. n03983396,充气饮料瓶  
  739. n03991062,花盆  
  740. n03992509,陶工旋盘  
  741. n03995372,电钻  
  742. n03998194,祈祷垫,地毯  
  743. n04004767,打印机  
  744. n04005630,监狱  
  745. n04008634,炮弹,导弹  
  746. n04009552,投影仪  
  747. n04019541,冰球  
  748. n04023962,沙包,吊球  
  749. n04026417,钱包  
  750. n04033901,羽管笔  
  751. n04033995,被子  
  752. n04037443,赛车  
  753. n04039381,球拍  
  754. n04040759,散热器  
  755. n04041544,收音机  
  756. n04044716,射电望远镜,无线电反射器  
  757. n04049303,雨桶  
  758. n04065272,休闲车,房车  
  759. n04067472,卷轴,卷筒  
  760. n04069434,反射式照相机  
  761. n04070727,冰箱,冰柜  
  762. n04074963,遥控器  
  763. n04081281,餐厅,饮食店,食堂  
  764. n04086273,左轮手枪  
  765. n04090263,步枪  
  766. n04099969,摇椅  
  767. n04111531,电转烤肉架  
  768. n04116512,橡皮  
  769. n04118538,橄榄球  
  770. n04118776,直尺  
  771. n04120489,跑步鞋  
  772. n04125021,保险柜  
  773. n04127249,安全别针  
  774. n04131690,盐瓶(调味用)  
  775. n04133789,凉鞋  
  776. n04136333,纱笼,围裙  
  777. n04141076,萨克斯管  
  778. n04141327,剑鞘  
  779. n04141975,秤,称重机  
  780. n04146614,校车  
  781. n04147183,帆船  
  782. n04149813,记分牌  
  783. n04152593,屏幕  
  784. n04153751,螺丝  
  785. n04154565,螺丝刀  
  786. n04162706,安全带  
  787. n04179913,缝纫机  
  788. n04192698,盾牌,盾牌  
  789. n04200800,皮鞋店,鞋店  
  790. n04201297,障子  
  791. n04204238,购物篮  
  792. n04204347,购物车  
  793. n04208210,铁锹  
  794. n04209133,浴帽  
  795. n04209239,浴帘  
  796. n04228054,滑雪板  
  797. n04229816,滑雪面罩  
  798. n04235860,睡袋  
  799. n04238763,滑尺  
  800. n04239074,滑动门  
  801. n04243546,角子老虎机  
  802. n04251144,潜水通气管  
  803. n04252077,雪橇  
  804. n04252225,扫雪机,扫雪机  
  805. n04254120,皂液器  
  806. n04254680,足球  
  807. n04254777,袜子  
  808. n04258138,碟式太阳能,太阳能集热器,太阳能炉  
  809. n04259630,宽边帽  
  810. n04263257,汤碗  
  811. n04264628,空格键  
  812. n04265275,空间加热器  
  813. n04266014,航天飞机  
  814. n04270147,铲(搅拌或涂敷用的)  
  815. n04273569,快艇  
  816. n04275548,蜘蛛网  
  817. n04277352,纺锤,纱锭  
  818. n04285008,跑车  
  819. n04286575,聚光灯  
  820. n04296562,舞台  
  821. n04310018,蒸汽机车  
  822. n04311004,钢拱桥  
  823. n04311174,钢滚筒  
  824. n04317175,听诊器  
  825. n04325704,女用披肩  
  826. n04326547,石头墙  
  827. n04328186,秒表  
  828. n04330267,火炉  
  829. n04332243,过滤器  
  830. n04335435,有轨电车,电车  
  831. n04336792,担架  
  832. n04344873,沙发床  
  833. n04346328,佛塔  
  834. n04347754,潜艇,潜水艇  
  835. n04350905,套装,衣服  
  836. n04355338,日晷  
  837. n04355933,太阳镜  
  838. n04356056,太阳镜,墨镜  
  839. n04357314,防晒霜,防晒剂  
  840. n04366367,悬索桥  
  841. n04367480,拖把  
  842. n04370456,运动衫  
  843. n04371430,游泳裤  
  844. n04371774,秋千  
  845. n04372370,开关,电器开关  
  846. n04376876,注射器  
  847. n04380533,台灯  
  848. n04389033,坦克,装甲战车,装甲战斗车辆  
  849. n04392985,磁带播放器  
  850. n04398044,茶壶  
  851. n04399382,泰迪,泰迪熊  
  852. n04404412,电视  
  853. n04409515,网球  
  854. n04417672,茅草,茅草屋顶  
  855. n04418357,幕布,剧院的帷幕  
  856. n04423845,顶针  
  857. n04428191,脱粒机  
  858. n04429376,宝座  
  859. n04435653,瓦屋顶  
  860. n04442312,烤面包机  
  861. n04443257,烟草店,烟草  
  862. n04447861,马桶  
  863. n04456115,火炬  
  864. n04458633,图腾柱  
  865. n04461696,拖车,牵引车,清障车  
  866. n04462240,玩具店  
  867. n04465501,拖拉机  
  868. n04467665,拖车,铰接式卡车  
  869. n04476259,托盘  
  870. n04479046,风衣  
  871. n04482393,三轮车  
  872. n04483307,三体船  
  873. n04485082,三脚架  
  874. n04486054,凯旋门  
  875. n04487081,无轨电车  
  876. n04487394,长号  
  877. n04493381,浴盆,浴缸  
  878. n04501370,旋转式栅门  
  879. n04505470,打字机键盘  
  880. n04507155,伞  
  881. n04509417,独轮车  
  882. n04515003,直立式钢琴  
  883. n04517823,真空吸尘器  
  884. n04522168,花瓶  
  885. n04523525,拱顶  
  886. n04525038,天鹅绒  
  887. n04525305,自动售货机  
  888. n04532106,祭服  
  889. n04532670,高架桥  
  890. n04536866,小提琴,小提琴  
  891. n04540053,排球  
  892. n04542943,松饼机  
  893. n04548280,挂钟  
  894. n04548362,钱包,皮夹  
  895. n04550184,衣柜,壁橱  
  896. n04552348,军用飞机  
  897. n04553703,洗脸盆,洗手盆  
  898. n04554684,洗衣机,自动洗衣机  
  899. n04557648,水瓶  
  900. n04560804,水壶  
  901. n04562935,水塔  
  902. n04579145,威士忌壶  
  903. n04579432,哨子  
  904. n04584207,假发  
  905. n04589890,纱窗  
  906. n04590129,百叶窗  
  907. n04591157,温莎领带  
  908. n04591713,葡萄酒瓶  
  909. n04592741,飞机翅膀,飞机  
  910. n04596742,炒菜锅  
  911. n04597913,木制的勺子  
  912. n04599235,毛织品,羊绒  
  913. n04604644,栅栏,围栏  
  914. n04606251,沉船  
  915. n04612504,双桅船  
  916. n04613696,蒙古包  
  917. n06359193,网站,互联网网站  
  918. n06596364,漫画  
  919. n06785654,纵横字谜  
  920. n06794110,路标  
  921. n06874185,交通信号灯  
  922. n07248320,防尘罩,书皮  
  923. n07565083,菜单  
  924. n07579787,盘子  
  925. n07583066,鳄梨酱  
  926. n07584110,清汤  
  927. n07590611,罐焖土豆烧肉  
  928. n07613480,蛋糕  
  929. n07614500,冰淇淋  
  930. n07615774,雪糕,冰棍,冰棒  
  931. n07684084,法式面包  
  932. n07693725,百吉饼  
  933. n07695742,椒盐脆饼  
  934. n07697313,芝士汉堡  
  935. n07697537,热狗  
  936. n07711569,土豆泥  
  937. n07714571,结球甘蓝  
  938. n07714990,西兰花  
  939. n07715103,菜花  
  940. n07716358,绿皮密生西葫芦  
  941. n07716906,西葫芦  
  942. n07717410,小青南瓜  
  943. n07717556,南瓜  
  944. n07718472,黄瓜  
  945. n07718747,朝鲜蓟  
  946. n07720875,甜椒  
  947. n07730033,刺棘蓟  
  948. n07734744,蘑菇  
  949. n07742313,绿苹果  
  950. n07745940,草莓  
  951. n07747607,橘子  
  952. n07749582,柠檬  
  953. n07753113,无花果  
  954. n07753275,菠萝  
  955. n07753592,香蕉  
  956. n07754684,菠萝蜜  
  957. n07760859,蛋奶冻苹果  
  958. n07768694,石榴  
  959. n07802026,干草  
  960. n07831146,烤面条加干酪沙司  
  961. n07836838,巧克力酱,巧克力糖浆  
  962. n07860988,面团  
  963. n07871810,瑞士肉包,肉饼  
  964. n07873807,披萨,披萨饼  
  965. n07875152,馅饼  
  966. n07880968,卷饼  
  967. n07892512,红葡萄酒  
  968. n07920052,意大利浓咖啡  
  969. n07930864,杯子  
  970. n07932039,蛋酒  
  971. n09193705,高山  
  972. n09229709,泡泡  
  973. n09246464,悬崖  
  974. n09256479,珊瑚礁  
  975. n09288635,间歇泉  
  976. n09332890,湖边,湖岸  
  977. n09399592,海角  
  978. n09421951,沙洲,沙坝  
  979. n09428293,海滨,海岸  
  980. n09468604,峡谷  
  981. n09472597,火山  
  982. n09835506,棒球,棒球运动员  
  983. n10148035,新郎  
  984. n10565667,潜水员  
  985. n11879895,油菜  
  986. n11939491,雏菊  
  987. n12057211,杓兰  
  988. n12144580,玉米  
  989. n12267677,橡子  
  990. n12620546,玫瑰果  
  991. n12768682,七叶树果实  
  992. n12985857,珊瑚菌  
  993. n12998815,木耳  
  994. n13037406,鹿花菌  
  995. n13040303,鬼笔菌  
  996. n13044778,地星  
  997. n13052670,多叶奇果菌  
  998. n13054560,牛肝菌  
  999. n13133613,玉米穗  
  1000. n15075141,卫生纸  

您可能感兴趣的与本文相关的镜像

LobeChat

LobeChat

AI应用

LobeChat 是一个开源、高性能的聊天机器人框架。支持语音合成、多模态和可扩展插件系统。支持一键式免费部署私人ChatGPT/LLM 网络应用程序。

import os os.environ['KMP_DUPLICATE_LIB_OK'] = 'True' import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torch.optim.lr_scheduler import ReduceLROnPlateau from torch.utils.data import DataLoader, random_split from torchvision import datasets, transforms import matplotlib.pyplot as plt import numpy as np import random from tqdm import tqdm import platform # ===== 中文字体支持设置 ===== import matplotlib as mpl import matplotlib.font_manager as fm from matplotlib import rcParams # 设置中文字体支持 def set_chinese_font(): try: # 尝试使用系统字体 font_list = ['SimHei', 'Microsoft YaHei', 'KaiTi', 'SimSun', 'FangSong', 'STSong', 'STKaiti'] available_fonts = [f.name for f in fm.fontManager.ttflist] # 查找系统支持的中文字体 chinese_font = None for font_name in font_list: if any(font_name in f for f in available_fonts): chinese_font = font_name break # 如果找到中文字体则应用 if chinese_font: rcParams['font.sans-serif'] = [chinese_font] rcParams['axes.unicode_minus'] = False # 解决负号显示问题 print(f"Set Chinese font: {chinese_font}") else: # 尝试从网络下载中文字体 try: import os from urllib.request import urlretrieve font_path = "NotoSansCJK-Regular.ttc" if not os.path.exists(font_path): print("Downloading Chinese font...") urlretrieve("https://github.com/googlefonts/noto-cjk/raw/main/Sans/OTF/Chinese/NotoSansCJK-Regular.ttc", font_path) fm.fontManager.addfont(font_path) rcParams['font.sans-serif'] = ['Noto Sans CJK SC'] rcParams['axes.unicode_minus'] = False print("Set downloaded Chinese font") except Exception as e: print(f"Failed to set Chinese font: {str(e)}") print("Chinese display may be incorrect") except Exception as e: print(f"Font setting error: {str(e)}") # 改进的参照化模态感知网络模型,增加正则化防止过拟合 class ImprovedRMAN(nn.Module): def __init__(self, num_classes=9, dropout_rate=0.3): super(ImprovedRMAN, self).__init__() self.num_classes = num_classes self.dropout_rate = dropout_rate # 特征提取器 - 增加了Dropout和调整了通道数 self.features = nn.Sequential( nn.Conv2d(3, 32, kernel_size=3, stride=1, padding=1), # 减少初始通道数 nn.BatchNorm2d(32), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=2, stride=2), nn.Dropout2d(p=dropout_rate/2), # 卷积后的Dropout nn.Conv2d(32, 64, kernel_size=3, stride=1, padding=1), # 减少通道数 nn.BatchNorm2d(64), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=2, stride=2), nn.Dropout2d(p=dropout_rate/2), # 卷积后的Dropout ) # 动态计算全连接层输入维度 self.fc_input_dim = self._calculate_fc_input_dim() # 模态感知模块 - 增加Dropout self.modality_aware = nn.Sequential( nn.Linear(self.fc_input_dim, 128), # 减少隐藏层大小 nn.BatchNorm1d(128), nn.ReLU(inplace=True), nn.Dropout(p=dropout_rate), # 全连接后的Dropout ) # 参照向量(每个类别一个) self.reference_vectors = nn.Parameter(torch.randn(num_classes, 128)) # 分类器 self.classifier = nn.Linear(128, num_classes) # 初始化权重 self._initialize_weights() def _initialize_weights(self): # 权重初始化以提高稳定性 for m in self.modules(): if isinstance(m, nn.Conv2d): nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') if m.bias is not None: nn.init.constant_(m.bias, 0) elif isinstance(m, nn.BatchNorm2d) or isinstance(m, nn.BatchNorm1d): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0) elif isinstance(m, nn.Linear): nn.init.normal_(m.weight, 0, 0.01) nn.init.constant_(m.bias, 0) def _calculate_fc_input_dim(self): x = torch.randn(1, 3, 28, 28) x = self.features(x) return x.view(1, -1).size(1) def forward(self, x): # 特征提取 x = self.features(x) x = x.view(x.size(0), -1) # 模态感知特征 features = self.modality_aware(x) # 参照感知计算 # 计算特征与每个参照向量的相似度 similarities = F.cosine_similarity( features.unsqueeze(1), self.reference_vectors.unsqueeze(0), dim=2 ) # 使用相似度加权参照向量 attention_weights = F.softmax(similarities, dim=1) weighted_ref = torch.sum( attention_weights.unsqueeze(2) * self.reference_vectors.unsqueeze(0), dim=1 ) # 特征增强:原始特征 + 加权参照向量 enhanced_features = features + weighted_ref # 分类 out = self.classifier(enhanced_features) return out # 可视化混淆矩阵以分析模型性能 def plot_confusion_matrix(all_labels, all_preds, class_names): from sklearn.metrics import confusion_matrix, classification_report import seaborn as sns cm = confusion_matrix(all_labels, all_preds) plt.figure(figsize=(10, 8)) sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=class_names, yticklabels=class_names) plt.xlabel('Predicted') plt.ylabel('True') plt.title('Confusion Matrix') plt.tight_layout() plt.savefig('confusion_matrix.png') plt.show() # 打印分类报告 print("\nClassification Report:") print(classification_report(all_labels, all_preds, target_names=class_names)) # 可视化随机预测 def visualize_predictions(model, dataset, mean, std, num_samples=5): class_names = dataset.dataset.classes indices = random.sample(range(len(dataset)), num_samples) model.eval() plt.figure(figsize=(15, 10)) for i, idx in enumerate(indices): image, true_label = dataset[idx] image_batch = image.unsqueeze(0).to(next(model.parameters()).device) with torch.no_grad(): output = model(image_batch) _, pred_label_idx = torch.max(output, 1) pred_label = pred_label_idx.item() # 反标准化 image_np = image.permute(1, 2, 0).cpu().numpy() image_np = image_np * std.cpu().numpy() + mean.cpu().numpy() image_np = np.clip(image_np, 0, 1) plt.subplot(1, num_samples, i+1) plt.imshow(image_np) plt.title(f"真实: {class_names[true_label]}\n预测: {class_names[pred_label]}") plt.axis('off') plt.tight_layout() plt.savefig('predictions.png') plt.show() # 可视化训练过程 def plot_training_history(train_losses, test_losses, train_accs, test_accs): epochs = range(1, len(train_losses)+1) # 创建1行2列的子图布局 plt.figure(figsize=(18, 6)) # 左子图:损失曲线 plt.subplot(1, 2, 1) plt.plot(epochs, train_losses, 'b-', linewidth=2, label='训练损失') plt.plot(epochs, test_losses, 'r-', linewidth=2, label='验证损失') plt.title('训练与验证损失', fontsize=16) plt.xlabel('轮次', fontsize=12) plt.ylabel('损失', fontsize=12) plt.grid(True, linestyle='--', alpha=0.7) plt.legend(fontsize=12) # 添加每个点的数值标签 for i, (tl, vl) in enumerate(zip(train_losses, test_losses)): if i % 3 == 0 or i == len(train_losses)-1: # 每3个点或最后一个点添加标签 plt.annotate(f'{tl:.4f}', xy=(i+1, tl), xytext=(i+1, tl+0.01), fontsize=8, ha='center') plt.annotate(f'{vl:.4f}', xy=(i+1, vl), xytext=(i+1, vl+0.01), fontsize=8, ha='center') # 右子图:准确率曲线 plt.subplot(1, 2, 2) plt.plot(epochs, train_accs, 'b-', linewidth=2, label='训练准确率') plt.plot(epochs, test_accs, 'r-', linewidth=2, label='验证准确率') plt.title('训练与验证准确率', fontsize=16) plt.xlabel('轮次', fontsize=12) plt.ylabel('准确率 (%)', fontsize=12) plt.grid(True, linestyle='--', alpha=0.7) plt.legend(fontsize=12) # 添加每个点的数值标签 for i, (ta, va) in enumerate(zip(train_accs, test_accs)): if i % 3 == 0 or i == len(train_accs)-1: # 每3个点或最后一个点添加标签 plt.annotate(f'{ta:.2f}%', xy=(i+1, ta), xytext=(i+1, ta+1), fontsize=8, ha='center') plt.annotate(f'{va:.2f}%', xy=(i+1, va), xytext=(i+1, va+1), fontsize=8, ha='center') plt.tight_layout() plt.savefig('training_history.png', dpi=300, bbox_inches='tight') plt.show() # 主函数 def main(): # 调用字体设置函数 set_chinese_font() # 数据目录 data_dir = r'D:\Codes\新' # 确定操作系统,设置合适的num_workers system = platform.system() if system == 'Windows': num_workers = 0 # Windows系统上使用0避免多进程问题 else: num_workers = 2 # 其他系统可以使用多进程加速 # 加载数据集计算均值和标准差 full_dataset = datasets.ImageFolder(root=data_dir, transform=transforms.ToTensor()) train_size = int(0.8 * len(full_dataset)) test_size = len(full_dataset) - train_size train_dataset, _ = random_split(full_dataset, [train_size, test_size]) train_loader_for_stats = DataLoader(train_dataset, batch_size=len(train_dataset), shuffle=False, num_workers=num_workers) data, _ = next(iter(train_loader_for_stats)) mean = data.mean(dim=(0, 2, 3)) std = data.std(dim=(0, 2, 3)) # 增强数据增强以减少过拟合 train_transform = transforms.Compose([ transforms.Resize((32, 32)), # 稍大尺寸以便更多裁剪 transforms.RandomCrop(28, padding=4), transforms.RandomHorizontalFlip(p=0.5), transforms.RandomVerticalFlip(p=0.2), # 增加垂直翻转 transforms.RandomRotation(20), # 增加旋转角度 transforms.ColorJitter(brightness=0.3, contrast=0.3, saturation=0.3, hue=0.15), # 增强颜色抖动 transforms.RandomAffine(degrees=0, translate=(0.15, 0.15), scale=(0.85, 1.15)), transforms.RandomGrayscale(p=0.1), # 增加灰度转换 transforms.ToTensor(), transforms.Normalize(mean=mean, std=std), transforms.RandomErasing(p=0.2, scale=(0.02, 0.25)) # 增加随机擦除 ]) test_transform = transforms.Compose([ transforms.Resize((28, 28)), transforms.ToTensor(), transforms.Normalize(mean=mean, std=std) ]) # 创建数据集 full_dataset = datasets.ImageFolder(root=data_dir, transform=train_transform) train_size = int(0.8 * len(full_dataset)) test_size = len(full_dataset) - train_size train_dataset, test_dataset = random_split(full_dataset, [train_size, test_size]) test_dataset.dataset.transform = test_transform # 数据加载器 batch_size = 64 train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=num_workers) test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=num_workers) # 初始化模型与设备 model = ImprovedRMAN(num_classes=9, dropout_rate=0.4) # 适当的dropout率 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) print(f"Using device: {device}") # 损失函数与优化器 - 增加L2正则化 criterion = nn.CrossEntropyLoss() # 增加weight_decay增强正则化 optimizer = optim.Adam(model.parameters(), lr=0.001, weight_decay=5e-4) # 使用更智能的学习率调度器 scheduler = ReduceLROnPlateau(optimizer, mode='max', factor=0.5, patience=3) # 训练记录 train_losses = [] train_accuracies = [] test_losses = [] test_accuracies = [] # 训练循环 - 改为20轮 num_epochs = 30 best_accuracy = 0.0 patience = 6 # 增加早停耐心值 early_stopping_counter = 0 # 创建主进度条 main_pbar = tqdm(range(num_epochs), desc="Overall Training", position=0, leave=True) for epoch in main_pbar: model.train() running_loss = 0.0 correct_train = 0 total_train = 0 # 创建训练批次进度条 train_pbar = tqdm(train_loader, desc=f"Epoch {epoch+1}/{num_epochs} [Training]", leave=False, position=1) for images, labels in train_pbar: images, labels = images.to(device), labels.to(device) # 前向传播 outputs = model(images) loss = criterion(outputs, labels) # 反向传播 optimizer.zero_grad() loss.backward() # 添加梯度裁剪防止梯度爆炸 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0) optimizer.step() running_loss += loss.item() # 计算准确率 _, predicted = torch.max(outputs.data, 1) total_train += labels.size(0) correct_train += (predicted == labels).sum().item() # 更新训练进度条信息 current_loss = loss.item() current_acc = 100 * (predicted == labels).sum().item() / labels.size(0) train_pbar.set_postfix(loss=f"{current_loss:.4f}", acc=f"{current_acc:.2f}%") # 关闭训练批次进度条 train_pbar.close() # 计算训练指标 avg_train_loss = running_loss / len(train_loader) train_accuracy = 100 * correct_train / total_train train_losses.append(avg_train_loss) train_accuracies.append(train_accuracy) # 更新主进度条信息 main_pbar.set_postfix( train_loss=f"{avg_train_loss:.4f}", train_acc=f"{train_accuracy:.2f}%" ) # 验证 model.eval() test_loss = 0.0 correct_test = 0 total_test = 0 # 创建验证进度条 test_pbar = tqdm(test_loader, desc=f"Epoch {epoch+1}/{num_epochs} [Validation]", leave=False, position=1) with torch.no_grad(): for images, labels in test_pbar: images, labels = images.to(device), labels.to(device) outputs = model(images) loss = criterion(outputs, labels) test_loss += loss.item() _, predicted = torch.max(outputs.data, 1) total_test += labels.size(0) correct_test += (predicted == labels).sum().item() # 更新验证进度条信息 current_test_acc = 100 * (predicted == labels).sum().item() / labels.size(0) test_pbar.set_postfix(acc=f"{current_test_acc:.2f}%") # 关闭验证进度条 test_pbar.close() avg_test_loss = test_loss / len(test_loader) test_accuracy = 100 * correct_test / total_test test_losses.append(avg_test_loss) test_accuracies.append(test_accuracy) # 更新主进度条信息 main_pbar.set_postfix( train_loss=f"{avg_train_loss:.4f}", train_acc=f"{train_accuracy:.2f}%", test_loss=f"{avg_test_loss:.4f}", test_acc=f"{test_accuracy:.2f}%" ) # 更新学习率(基于验证准确率) scheduler.step(test_accuracy) # 早停机制 if test_accuracy > best_accuracy: best_accuracy = test_accuracy early_stopping_counter = 0 torch.save(model.state_dict(), 'best_improved_rman_model.pth') tqdm.write(f'Epoch [{epoch+1}/{num_epochs}]: New best model saved with accuracy: {best_accuracy:.2f}%') else: early_stopping_counter += 1 if early_stopping_counter >= patience: tqdm.write(f'Epoch [{epoch+1}/{num_epochs}]: Early stopping after {patience} epochs without improvement') break # 关闭主进度条 main_pbar.close() # 加载最佳模型 model.load_state_dict(torch.load('best_improved_rman_model.pth')) model.eval() # 最终评估 correct = 0 total = 0 all_labels = [] all_preds = [] # 创建最终评估进度条 eval_pbar = tqdm(test_loader, desc="Final Evaluation", position=0, leave=True) with torch.no_grad(): for images, labels in eval_pbar: images, labels = images.to(device), labels.to(device) outputs = model(images) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += (predicted == labels).sum().item() all_labels.extend(labels.cpu().numpy()) all_preds.extend(predicted.cpu().numpy()) # 更新评估进度条信息 current_acc = 100 * (predicted == labels).sum().item() / labels.size(0) eval_pbar.set_postfix(acc=f"{current_acc:.2f}%") # 关闭评估进度条 eval_pbar.close() accuracy = 100 * correct / total print(f'Final Test Accuracy: {accuracy:.2f}%') # 执行可视化和保存模型 class_names = full_dataset.classes visualize_predictions(model, test_dataset, mean, std, num_samples=5) plot_training_history(train_losses, test_losses, train_accuracies, test_accuracies) plot_confusion_matrix(all_labels, all_preds, class_names) torch.save(model.state_dict(), 'final_improved_rman_model.pth') print("模型已保存为 'final_improved_rman_model.pth'") if __name__ == '__main__': # 在Windows上使用多进程时需要的保护措施 import multiprocessing multiprocessing.freeze_support() main() 优化此模型,使得测试准确率达到97.5%左右
08-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值