Linux獲取ImageNet數據集方法及小規模imagenet

一、數據集下載

ImageNet官方鏈接:ImageNet

Linux命令直接下載:

訓練集

wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_train.tar --no-check-certificate

驗證集

wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_val.tar --no-check-certificate

標簽映射文件

wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_devkit_t12.tar.gz --no-check-certificate

二、解壓

tar -xvf tar文件

三、驗證集

val 目錄下是平鋪的圖像,并沒有被分類到文件夾下。因此需要將驗證集中的圖像進行分類存放。

from scipy import io
import os
import shutildef move_valimg(val_dir='./val', devkit_dir='./ILSVRC2012_devkit_t12'):"""move valimg to correspongding folders.val_id(start from 1) -> ILSVRC_ID(start from 1) -> WINDorganize like:/val/n01440764images/n01443537images....."""# load synset, val ground truth and val images listsynset = io.loadmat(os.path.join(devkit_dir, 'data', 'meta.mat'))ground_truth = open(os.path.join(devkit_dir, 'data', 'ILSVRC2012_validation_ground_truth.txt'))lines = ground_truth.readlines()labels = [int(line[:-1]) for line in lines]root, _, filenames = next(os.walk(val_dir))for filename in filenames:# val image name -> ILSVRC ID -> WINDval_id = int(filename.split('.')[0].split('_')[-1])ILSVRC_ID = labels[val_id-1]WIND = synset['synsets'][ILSVRC_ID-1][0][1][0]print("val_id:%d, ILSVRC_ID:%d, WIND:%s" % (val_id, ILSVRC_ID, WIND))# move val imagesoutput_dir = os.path.join(root, WIND)if os.path.isdir(output_dir):passelse:os.mkdir(output_dir)shutil.move(os.path.join(root, filename), os.path.join(output_dir, filename))if __name__ == '__main__':move_valimg()

執行腳本,將驗證集分類存放進文件夾中。

學習自大佬:小周_

四、ImageNet 1k小數據集

https://download.csdn.net/download/2301_77554343/91227609?spm=1001.2014.3001.5503

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89346.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89346.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89346.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA八股文:異常有哪些種類,可以舉幾個例子嗎?Throwable類有哪些常見方法?

Throwable、Error 與 Exception 所有的異常類型都繼承自 java.lang.Throwable。 其中 Error(比如 OutOfMemoryError、StackOverflowError、類加載失敗等)表示 JVM 自身或運行環境的問題,不應該也通常無法由應用程序去捕獲或恢復,…

.NetCore+Vue快速生產框架開發詳細方案

文章目錄 1. 項目概述 1.1 項目背景1.2 項目目標1.3 核心功能 2. 技術棧選擇 2.1 后端技術棧2.2 前端技術棧2.3 開發工具 3. 系統架構設計 3.1 整體架構3.2 后端架構設計3.3 前端架構設計3.4 微服務考慮 4. 后端.NET核心設計 4.1 項目結構4.2 核心模塊設計4.2.1 用戶模塊4.2.2 …

WPF學習筆記(18)觸發器Trigger

觸發器 1. 概述2. 詳解2.1. Trigger 用法2.2. MultiTrigger 用法2.3. DataTrigger 用法2.4. EventTrigger 用法 總結 1. 概述 官方文檔:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.trigger?viewnetframework-4.8 2. 詳解 在Style中可以指定觸…

記本好書:矩陣力量:線性代數全彩圖解+微課+Python編程

書名:矩陣力量:線性代數全彩圖解微課Python編程 作者:姜偉生 出版社:清華大學出版社 出版時間:2023-06-01 ISBN:9787302632511 品牌方:清華大學出版社有限公司 發現一本好書,但是一…

?Webpack打包流程

Webpack打包流程的核心步驟包括初始化配置、解析入口文件、構建依賴圖、模塊轉換、資源優化和輸出文件?。該流程通過遞歸分析模塊依賴關系,結合加載器和插件處理各類資源,最終生成優化后的靜態文件。 ?核心流程概述? ?初始化配置?:讀取…

入門pytorch-聯邦學習

本文聯邦學習的代碼引用于https://github.com/shaoxiongji/federated-learning 本篇文章相當于帶大家讀一遍聯邦學習的代碼,同時加深了大家對聯邦學習和Pytorch框架的理解。 這里想簡單介紹一下聯邦學習。 聯邦學習說白了,就是假如有 N N N個數據擁有…

半導體和PN結

1. 什么是半導體? 導體,電阻率小,即電流容易通過的材料;Cu 絕緣體,導電性低,即電流不易通過的材料;塑料 半導體,常溫下導電性能介于導體和絕緣體之間,是一種導電可控的…

如何分析大語言模型(LLM)的內部表征來評估文本的“誠實性”

如何分析大語言模型(LLM)的內部表征來評估文本的“誠實性” 基于這樣一個假設:模型在生成誠實和不誠實回答時,其內部狀態會存在系統性差異 LAT :線性人工斷層掃描 我們通過一個生活化的例子來理解如何通過分析大語言模型的內部表征評估文本的“誠實性”。 場景類比:判…

【算法】動態規劃 矩陣 :62. 不同路徑

62. 不同路徑 一個機器人位于一個 m x n 網格的左上角 (起始點在下圖中標記為 “Start” )。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角(在下圖中標記為 “Finish” )。 問總共有多少條不同的路徑&…

LabVIEW調用Excel宏實現數據可視化

通過LabVIEW 的 ActiveX 接口,調用 Excel 應用程序,實現打開指定Excel 工作簿并運行其中宏(如 “GraphData” 宏),將工作表數據以圖表形式展示。通過 ActiveX 自動化技術,打通 LabVIEW 與 Excel 交互通道&a…

初始CNN(卷積神經網絡)

卷積神經網絡(Convolutional Neural Network,簡稱 CNN)作為深度學習的重要分支,在圖像識別、目標檢測、語義分割等領域大放異彩。無論是手機上的人臉識別解鎖,還是自動駕駛汽車對道路和行人的識別,背后都離…

深度解析Spring Bean生命周期:從字節碼到可用對象的奇幻旅程

🌱 深度解析Spring Bean生命周期:從字節碼到可用對象的奇幻旅程 你是否曾困惑:為什么PostConstruct有時不執行?為什么循環依賴報錯如此難解?為什么AOP代理在某些場景失效? 本文將徹底拆解Spring Bean的16個…

MySQL 復合查詢和內外連接 -- 子查詢,多表查詢,自連接,合并查詢,表的內外連接

目錄 1. 子查詢 1.1 單行子查詢 1.2 多行子查詢 1.3 多列子查詢 1.4 在 from 子句中使用子查詢 2. 多表查詢 3. 自連接 4. 合并查詢 4.1 union 4.2 union all 5. 表的內連接 6. 表的外連接 下列先給出該博客中所用到的所有表的數據。 (1)部…

【STM32+LAN9252+HAL庫】EtherCAT從站搭建 保姆級教程

目錄 一、生成協議棧及XML文件 二、使用stm32CuboMX配置外設 三、協議棧移植 鑒于本人對EtherCAT的掌握程度十分有限,這篇文章僅作為我搭建基礎從站的過程記錄不做更多講解。本文內容主要為SPI模式的基礎搭建,更多深入的學習資料和細節,大家…

【LeetCode 熱題 100】239. 滑動窗口最大值——(解法二)滑動窗口+單調隊列

Problem: 239. 滑動窗口最大值 題目:給你一個整數數組 nums,有一個大小為 k 的滑動窗口從數組的最左側移動到數組的最右側。你只可以看到在滑動窗口內的 k 個數字。滑動窗口每次只向右移動一位。返回滑動窗口中的最大值 。 【LeetCode 熱題 100】239. 滑…

MySQL 8.0 連接 5.x 服務器認證問題

總的來說,答案是:可以,但是需要特別注意認證方式的兼容性問題。 MySQL 8.0 引入了新的默認認證插件 caching_sha2_password,而 MySQL 5.x(及更早版本)使用的是 mysql_native_password。當你用一個 8.0 的客…

Spring原理揭秘(一)

什么是spring? spring框架是一個輕量級的開源的JavaEE框架。 所謂輕量級則是:占用空間小,代碼侵入性低,代碼耦合度低,降低代碼復雜度,可以輕易適配多種框架。 隨著spring的不斷發展,它所占用…

Visual Studio Code自用搜索技巧整理

多文件跨行搜索 用途 在多個日志文件中搜索跨行日志 方法 1.用VS Code打開待搜索文件所在的目錄; 2.按快捷鍵(CtrlShiftF)打開全局搜索; 3.點擊搜索框右側的開啟正則表達式; 4.輸入正則表達式,例如&…

Axure PR 9 驗證碼登錄 案例

大家好,我是大明同學。 這期內容,我們來用Axure來制作一個短信驗證登錄頁面的小案例。 驗證碼登錄小案例 創建手機號輸入框所需的元件 1.打開一個新的 RP 文件并在畫布上打開 Page 1。 2.在元件庫中拖出一個矩形元件,選中矩形元件&#xf…

監聽器模式

1. 問題背景 假設我們有一個 銀行賬戶管理系統,該系統需要監控用戶賬戶余額的變動,并在發生變動時,自動執行一些相關的操作,比如發送 余額變動通知(如短信、郵件等)。為了實現這一功能,我們希望…