Python打卡第38天

@浙大疏錦行

作業:

了解下cifar數據集,嘗試獲取其中一張圖片

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加載數據的工具
from torchvision import datasets, transforms # torchvision 是一個用于計算機視覺的庫,datasets 和 transforms 是其中的模塊
import matplotlib.pyplot as plt# 設置隨機種子,確保結果可復現
torch.manual_seed(42)
# 先歸一化,再標準化
transform = transforms.Compose([transforms.ToTensor(),  # 轉換為張量并歸一化到[0,1]transforms.Normalize((0.1307,), (0.3081,))  # MNIST數據集的均值和標準差,這個值很出名,所以直接使用
])# 2. 加載MNIST數據集,如果沒有會自動下載
train_dataset = datasets.CIFAR10(root='./data',train=True,download=True,transform=transform
)test_dataset = datasets.CIFAR10(root='./data',train=False,transform=transform
)import matplotlib.pyplot as plt# 隨機選擇一張圖片,可以重復運行,每次都會隨機選擇
sample_idx = torch.randint(0, len(train_dataset), size=(1,)).item() # 隨機選擇一張圖片的索引
# len(train_dataset) 表示訓練集的圖片數量;size=(1,)表示返回一個索引;torch.randint() 函數用于生成一個指定范圍內的隨機數,item() 方法將張量轉換為 Python 數字
image, label = train_dataset[sample_idx] # 獲取圖片和標簽# minist數據集的簡化版本
class MNIST(Dataset):def __init__(self, root, train=True, transform=None):# 初始化:加載圖片路徑和標簽self.data, self.targets = fetch_mnist_data(root, train) # 這里假設 fetch_mnist_data 是一個函數,用于加載 MNIST 數據集的圖片路徑和標簽self.transform = transform # 預處理操作def __len__(self): return len(self.data)  # 返回樣本總數def __getitem__(self, idx): # 獲取指定索引的樣本# 獲取指定索引的圖像和標簽img, target = self.data[idx], self.targets[idx]# 應用圖像預處理(如ToTensor、Normalize)if self.transform is not None: # 如果有預處理操作img = self.transform(img) # 轉換圖像格式# 這里假設 img 是一個 PIL 圖像對象,transform 會將其轉換為張量并進行歸一化return img, target  # 返回處理后的圖像和標簽# 可視化原始圖像(需要反歸一化)
def imshow(img):img = img * 0.3081 + 0.1307  # 反標準化npimg = img.numpy()plt.imshow(npimg[0], cmap='gray') # 顯示灰度圖像plt.show()print(f"Label: {label}")
imshow(image)
Files already downloaded and verified
Label: 6

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

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

相關文章

AI 數據采集實戰指南:基于 Bright Data 快速獲取招標訊息

AI 數據采集實戰指南:基于Bright Data快速獲取招標訊息 在招標行業中,快速、準確地獲取招標公告、項目詳情、投標截止日期和其他關鍵招標信息,是投標企業提高競標成功率的核心競爭力。然而,招標信息往往分散在不同的平臺和網頁&a…

TCP 三次握手,第一次握手報文丟失會發生什么?

文章目錄 RTO(Retransmission Timeout)注意 客戶端想與服務端建立 TCP 連接時,先發送 SYN 報文,在這之后,如果客戶端遲遲收不到服務端的 SYNACK 報文,就會觸發「超時重傳」機制,重新發送 SYN 報文,而且重傳…

【DeepSeek論文精讀】12. DeepSeek-Prover-V2: 通過強化學習實現子目標分解的形式化數學推理

歡迎關注[【AIGC論文精讀】](https://blog.csdn.net/youcans/category_12321605.html)原創作品 【DeepSeek論文精讀】1. 從 DeepSeek LLM 到 DeepSeek R1 【DeepSeek論文精讀】10. DeepSeek-Coder-V2: 突破閉源模型在代碼智能領域的障礙 【DeepSeek論文精讀】12. De…

第十一節:第一部分:正則表達式:應用案例、爬取信息、搜索替換

正則表達式介紹 String提供的正則表達式的方法的書寫規則 正則表達式總結 正則表達式作用: 作用三:搜索替換 案例分析及代碼(圖片解析) 代碼: 代碼一:校驗手機號和郵箱格式是否正確 package com.itheima.…

視頻監控匯聚平臺EasyCVR工業與安全監控:防爆攝像機的安全應用與注意事項

石油、化工、煤礦等行業存在易燃易爆氣體、粉塵,普通監控設備易因電火花、高溫引發爆炸火災。隨著工業規模擴大,安全生產監控需求激增,防爆攝像機成為保障安全的關鍵。加之國家法規與行業標準對危險環境監控設備要求嚴格,規范其應…

重學計算機網絡之命令整理

配置權限相關 1.用戶執行模式:查看網絡設備狀態信息 2.特權執行模式:查看和修改網絡設備的狀態和控制信息 3.全局配置模式:對整個網絡設備進行全局性參數配置 4.接口配置模式:對網絡設備的接口進行配置 enable #進入特權執行模式…

數據結構與算法Day3:緒論第三節抽象數據類型、算法及其描述

各位親愛的讀者,大家好!今天博主給大家帶來的內容是C語言數據結構與算法當中抽象數據類型、算法及其分析的相關知識。 一.抽象數據類型 抽象數據類型:指的是用戶進行軟件系統設計時從問題的數據模型中抽象出來的邏輯數據結構和邏輯數據結構上…

ABC 350

E. Toward 0 從大規模向小規模,用記憶化搜索,只需要分好類,有哪幾種搜法。 期望實際上就是把每一種情況的答案答案都算出來,然后取個平均值 ,并不困難。 f ( i ) [ f ( i / 6 ) f ( i / 5 ) f ( i / 4 ) f ( i / 3…

多相電機驅動控制學習(1)——基于雙dq坐標系的六相/雙三相PMSM驅動控制

1.引言 最近想學習一下多相電機。想從相對簡單的開始吧,先學一個基于雙dq的六相/雙三相PMSM驅動控制(考慮中性點隔離以及不隔離的情況,即考慮是否有零序電流回路),后面有時間再學學基于VSD的六相/雙三相PMSM驅動控制。…

筆記: 在WPF中ContentElement 和 UIElement 的主要區別

一、目的:簡要姐掃在WPF中ContentElement 和 UIElement 的主要區別 ContentElement 和 UIElement 是 WPF 中的兩個基類,它們在功能和用途上有顯著的區別。 二、主要區別 ContentElement 主要特點: ? 沒有視覺表示: ContentElement 本身不直接渲染任…

Android-Glide學習總結

Glide三級緩存? 面試官 我看你簡歷里提到熟悉 Glide,能聊聊它的緩存機制嗎?比如加載圖片的時候,Glide 是怎么決定從內存還是磁盤讀取的? ?你? 哦,Glide 的緩存機制是吧?嗯,這個我之前在做項…

安卓證書的申請(保姆級圖文)

目錄 確認安裝了對應版本的jdk生成證書文件1. -genkey2. -alias test_certalias3. -keyalg RSA4. -keysize 20485. -validity 365006. -keystore test_cert.keystore 查看證書內容總結 歡迎關注 『發現你走遠了』 博客,持續更新中 歡迎關注 『發現你走遠了』 博客&a…

Unity性能優化

SetPass calls表示在當前攝像機的渲染過程中,Unity切換著色器通道(Shader Pass)來渲染游戲對象的次數。一個著色器(Shader)可以包含多個著色器通道,每個著色器通道可以通過不同的方式來渲染游戲對象。但每次…

Python+AI Agent:解鎖MCP Servers的智能潛力

💝💝💝歡迎蒞臨我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:「storms…

uni-app學習筆記十五-vue3頁面生命周期(一)

頁面生命周期概覽 vue3頁面生命周期如下圖所示: onLoad 此時頁面還未顯示,沒有開始進入的轉場動畫,頁面dom還不存在。 所以這里不能直接操作dom(可以修改data,因為vue框架會等待dom準備后再更新界面)&am…

【排序算法】快速排序詳解--附詳細流程代碼

快速排序算法 介紹 快速排序(Quick Sort)是一種高效的分治排序算法,由英國計算機科學家 Tony Hoare 于 1960 年提出。它是實際應用中最常用的排序算法之一。快速排序的基本思想是:選擇一個"基準"(pivot&am…

【監控】Prometheus中的告警機制介紹

prometheus實戰之三:告警規則_驗證prometheus告警規則-CSDN博客 Prometheus是一款開源的系統監控和告警工具,其告警功能是保障系統穩定運行的重要部分。以下將從告警的整體架構、核心概念、規則配置以及具體的通知流程等方面對Prometheus中的告警進行介…

53、用例(Use Case)詳解

1. 定義與核心概念 用例(Use Case) 是軟件工程中用于描述系統功能需求的核心工具,它通過結構化的方式定義系統與外部參與者(用戶、其他系統)之間的交互行為,以實現具體的業務目標。用例強調從用戶視角出發…

對比Redis與向量數據庫(如Milvus)在AI中的應用

對比Redis與向量數據庫(如Milvus)在AI中的應用 在AI架構中,緩存系統的設計直接影響響應速度、資源成本以及推理路徑是否高效。而面對不同的AI業務訴求,選用什么類型的緩存系統、如何搭配,往往是系統架構設計中必須深入…

Oracle 的 MOVE 操作是否重建表?

Oracle 的 MOVE 操作是否重建表? Oracle 的 ALTER TABLE ... MOVE 操作實質上是重建表的物理存儲結構,但保留表的邏輯定義不變。 MOVE 操作的本質 物理重建: 創建新的數據段(物理存儲結構)將原表數據按順序重新插入到…