anomalib—2—輸入圖像大小調整

三個地方

第一:在定義model時,要在pre_processor里面去定義一個前處理,前處理就一個功能,定義圖像的大小

pre_processor0 = Patchcore.configure_pre_processor( image_size = (128, 128))
model =Patchcore( backbone="wide_resnet50_2",layers=["layer1", "layer2"], pre_trained=True,pre_processor= pre_processor0)

第二個地方:在Folder里面定義transform。

    datamodule = Folder(name="runzhi",root="",normal_dir=r"C:\Users\Administrator\Desktop\B\GOOD",abnormal_dir=r"C:\Users\Administrator\Desktop\B\BAD",num_workers=0,train_batch_size=10,eval_batch_size=5,train_augmentations=train_transform,val_augmentations=eval_transform,test_augmentations=eval_transform,#augmentations=eval_transform,)datamodule.setup()
這里要注意兩點,這里的transform是從torchvision.transforms.v2里來的,它的方式也略有不同,定義如下,還有就是在如果定了了圖像的歸一化,和尺寸縮放,那么,在train_augment,val_augment,test_augment是要保證統一的,不然你可能得不到理想的結果圖。
from torchvision.transforms.v2 import Compose, RandomAdjustSharpness, RandomHorizontalFlip, Resize, Normalize, ToPILImage, PILToTensor, ToTensortrain_transform = Compose([ToTensor(),RandomAdjustSharpness(sharpness_factor=0.7, p=0.5),RandomHorizontalFlip(p=0.5),Resize([128,128]),Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),],)eval_transform = Compose([ToTensor(),Resize([128,128]),Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),],)

第三,就是在predict層面,也要對輸入的待測圖像全部進行同樣的resize和normalize的操作

我的完整代碼如下,給自己看得

# Import the model and engine
import torch
from anomalib.data import Folder
from anomalib.engine import Engine
from anomalib.models import Patchcoreif __name__ == '__main__':pre_processor0 = Patchcore.configure_pre_processor( image_size = (128, 128))model =Patchcore( backbone="wide_resnet50_2",layers=["layer1", "layer2"], pre_trained=True,pre_processor= pre_processor0)engine = Engine()#####在這里要注意的是 Folder制作數據集時,它的transform是從torchvision.transforms.v2已入使用的from torchvision.transforms.v2 import Compose, RandomAdjustSharpness, RandomHorizontalFlip, Resize, Normalize, \ToPILImage, PILToTensor, ToTensortrain_transform = Compose([ToTensor(),RandomAdjustSharpness(sharpness_factor=0.7, p=0.5),RandomHorizontalFlip(p=0.5),Resize([128,128]),Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),],)eval_transform = Compose([ToTensor(),Resize([128,128]),Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),],)datamodule = Folder(name="runzhi",root="",normal_dir=r"C:\Users\Administrator\Desktop\B\GOOD",abnormal_dir=r"C:\Users\Administrator\Desktop\B\BAD",num_workers=0,train_batch_size=10,eval_batch_size=5,train_augmentations=train_transform,val_augmentations=eval_transform,test_augmentations=eval_transform,#augmentations=eval_transform,)datamodule.setup()engine.train(datamodule=datamodule, model=model)

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

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

相關文章

JSX、支持HTML標簽、Ref的使用、虛擬DOM的使用

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

JVM 學習計劃表(2025 版)

JVM 學習計劃表(2025 版) 📚 基礎階段(2 周) 1. JVM 核心概念 ?JVM 作用與體系結構 理解 JVM 在 Java 跨平臺運行中的核心作用,掌握類加載子系統、運行時數據區、執行引擎的交互流程?內存結構與數據存…

進程內存分布--之理論知識

一個由C/C編譯的程序占用的內存分為以下幾個部分 : 1、棧區(stack):由編譯器自動分配釋放 ,存放函數調用函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。 2、堆區(heap&#xf…

WEB安全--內網滲透--LMNTLM基礎

一、前言 LM Hash和NTLM Hash是Windows系統中的兩種加密算法,不過LM Hash加密算法存在缺陷,在Windows Vista 和 Windows Server 2008開始,默認情況下只存儲NTLM Hash,LM Hash將不再存在。所以我們會著重分析NTLM Hash。 在我們內…

時尚優雅奢華品牌包裝徽標設計襯線英文字體安裝包 Kagea – Luxury Women Ligature Font

Kagea 是一種復雜的襯線字體,有常規和壓縮兩種樣式,具有 50 連字和替代字體,并支持多種語言。其精致的比例和別致的字體使其成為高端品牌、編輯布局、高檔包裝、時尚品牌和奢侈品設計的理想選擇。 包含內容: TTF、OTF 和 WOFF 格…

cut命令用法

cut 是 Linux/Unix 系統中一個用于按列提取文本內容的命令,常用于處理結構化文本(如 CSV、日志、配置文件等)。它通過分隔符、字符位置或字節位置來切割文本,提取指定部分。 核心功能 按字段(列)提取&#…

美國mlb與韓國mlb的關系·棒球9號位

MLB(Major League Baseball,美國職業棒球大聯盟)作為全球最高水平的職業棒球聯賽,與韓國市場流行的“MLB”時尚品牌之間存在著授權合作關系,但兩者在業務范疇和品牌定位上存在顯著差異。 一、品牌授權背景:…

從吉卜力漫畫到藝術創造:GPT-4o多種風格繪圖Prompt大全

在3月底,GPT-4o掀起了一陣吉卜力繪圖浪潮,大家紛紛輸入一張圖片,讓4o模型進行風格化遷移,其中吉卜力風格的漫畫在社交媒體上最為火熱。在大家爭議4o的訓練數據是否侵權和4o背后的技術原理的時候,我們先來玩一玩&#x…

Leetcode 3510. Minimum Pair Removal to Sort Array II

Leetcode 3510. Minimum Pair Removal to Sort Array II 1. 解題思路2. 代碼實現 題目鏈接:3510. Minimum Pair Removal to Sort Array II 1. 解題思路 這一題和題目3507. Minimum Pair Removal to Sort Array I本質上是同一道題目,唯一的區別在于時間…

【數學建模】(時間序列模型)ARIMA時間序列模型

ARIMA時間序列模型詳解及常見時間序列模型概覽 文章目錄 ARIMA時間序列模型詳解及常見時間序列模型概覽1 引言2 ARIMA模型的基本概念3 ARIMA模型的組成部分詳解3.1 AR模型 (自回歸模型)3.2 MA模型 (移動平均模型)3 I (差分) 4 ARIMA模型的建模步驟5 Python實現ARIMA模型6 常見時…

嵌入式AI開發者職業成長路線圖

嵌入式AI開發者職業成長路線圖 一、核心技術能力構建 1. 深度學習框架 TensorFlow/TensorFlow Lite:適合部署到嵌入式設備PyTorch:研究和原型開發ONNX:模型轉換與部署 2. 模型理解與應用 卷積神經網絡(CNN):圖像識別、目標檢…

單元測試之mockito

簡介 mockito是一款模擬測試框架,用于Java開發中的單元測試。通過mockito,可以創建和配置一個對象,通過它來替換對象的外部依賴。 作用:模擬一個類的外部依賴,保證單元測試的獨立性。例如,在類A中會調用類…

Oracle數據庫數據編程SQL<5 正則表達式函數*****>

Oracle 提供了一組強大的正則表達式函數,用于在 SQL 和 PL/SQL 中進行復雜的模式匹配和文本處理。這些函數基于 POSIX 標準正則表達式,功能強大且靈活。 目錄 一、Oracle 正則表達式函數概覽 二、函數詳解及示例 1. REGEXP_LIKE 2. REGEXP_INSTR 3. REGEXP_SUBSTR 4. …

el-tabs添加按鈕增加點擊禁止樣式

前置文章 一、vue使用element-ui自定義樣式思路分享【實操】 二、vue3&ts&el-tabs多個tab表單校驗 現狀確認 點擊添加按鈕,沒有點擊樣式,用戶感知不明顯沒有限制最大的tab添加數量,可以無限添加 調整目標&代碼編寫 調整目標…

DB-Mysql中TIMESTAMP與DATETIME的區別

文章目錄 ?存儲范圍??時區處理?存儲空間?默認值和自動更新??零值處理?適用場景?總結 在MySQL中,TIMESTAMP和DATETIME是兩種常用的日期時間數據類型,它們雖然都用于存儲日期和時間,但在多個方面存在顯著差異。以下是它們的主要區別&a…

Spring 中有哪些設計模式?

🧠 一、Spring 中常見的設計模式 設計模式類型Spring 中的應用場景單例模式創建型默認 Bean 是單例的工廠模式創建型BeanFactory、FactoryBean抽象工廠模式創建型ApplicationContext 提供多個工廠接口代理模式結構型AOP 動態代理(JDK/CGLIB)…

C# Winform 入門(3)之尺寸同比例縮放

放大前 放大后 1.定義當前窗體的寬度和高度 private float x;//定義當前窗體的寬度private float y;//定義當前窗臺的高度 2.接收當前窗體的尺寸大小 x this.Width;//存儲原始寬度ythis.Height;//存儲原始高度setTag(this);//為控件設置 Tag 屬性 3.聲明方法,獲…

從零開始的編程-java篇1.6.3

前言: 通過實踐而發現真理,又通過實踐而證實真理和發展真理。從感性認識而能動地發展到理性認識,又從理性認識而能動地指導革命實踐,改造主觀世界和客觀世界。實踐、認識、再實踐、再認識,這種形式,循環往…

【Redis】數據的淘汰策略

目錄 淘汰策略方案(8種) LRU和LFU策略的區別 使用建議 手搓LRU算法 方式一 方式二 大家好,我是jstart千語。今天和大家回來聊一下redis,這次要講的是它的淘汰策略。為什么需要淘汰策略呢,就是當redis里面的內存占…

【前端】Node.js一本通

近兩天更新完畢,建議關注收藏點贊。 目錄 復習Node.js概述使用fs文件系統模塊path路徑模塊 http模塊 復習 為什么JS可以在瀏覽器中執行 原理:待執行的JS代碼->JS解析引擎 不同的瀏覽器使用不同的 JavaScript 解析引擎:其中,C…