pytorch載入預訓練模型出現錯誤:ModuleNotFoundError: No module named 'models'
阿新 • • 發佈:2021-11-24
具體實現:
interface IFileOpen() { void Open() }
定義所有檔案的公共基類:
abstract class Files:IFileOpen { private FileType fileType = FileType.doc; public FileType FileType { get {return fileType;} } public abstact void Open(); }
abstract class DocFile : Files { publicint GetPageCount() { } } abstract class ImageFile : Files { public void ZoomIn() { } public void ZoomOut() { } }
基類Files實現了IFileOpen介面,對派生類做了歸檔,初步實現了檔案型別,圖片型別和媒體型別三個大類。
實現具體資料類
class WORDFile:DocFile { publicovveride void Open(){ Console.WriteLine("Open the WORD fILE"); } }
同時設計一個資料管理類來進行資料的統一管理:
class LoadManager { private IList<Files> files = new List<Files>(); public IList<Files> Files { get { return files; } } publicvoid LoadFiles(Files file) { files.Add(file); } //開啟所有資料 public void OpenAllFiles() { foreach (IFileOpen file in files) { file.Open(); } } //開啟單個資料 public void OpenFile(IFileOpen file) { file.Open(); } //獲取檔案型別 public FileType GetFileType(string fileName) { //根據指定路徑檔案返回檔案型別 FileInfo fi = new FileInfo(fileName); return (FileType)Enum.Parse(typeof(FileType), fi.Extension); } }
實現簡單的客戶端,根據所需進行檔案的載入:
Class FileClient { public static void Main() { //首先啟動檔案載入器 LoadManager lm = new LoadManager(); //新增要處理的檔案 lm.LoadFiles(new WORDFile()); lm.LoadFiles(new PDFFile()); lm.LoadFiles(new JPGFile()); lm.LoadFiles(new AVGFile()); foreach(Files file in lm.Files){ if(file is 爺爺選擇的){ lm.OpenFile(file); } } }
隨需而變的業務:
class MPEGFile:MediaFile { public override void Open() { Console.WriteLine("Open the MPEG file"); } }
新增新檔案的載入操作
lm.LoadFiles(new MPEGFile());