python模型訓練

目錄

1、新建模型? ?train_model.py

2、運行模型

(1)首先會下載data文件庫

(2)完成之后會開始訓練模型(10次)

3、 訓練好之后,進入命令集

?4、輸入命令:python -m tensorboard.main --logdir="C:\Users\15535\Desktop\day6\train"

(1)目錄的絕對路徑獲得方法

?5、打開網頁可視化圖形

(1)運行完之后會自動有一個網址,點進去

?(2)顯示


1、新建模型? ?train_model.py

import torch
import torchvision.transforms
from torch.utils.tensorboard import SummaryWriter
from torchvision import datasets
from torch.utils.data import DataLoader
import torch.nn as nn
from torch.nn import CrossEntropyLoss#step1.下載數據集train_data=datasets.CIFAR10('./data',train=True,\transform=torchvision.transforms.ToTensor(),download=True)
test_data=datasets.CIFAR10('./data',train=False,\transform=torchvision.transforms.ToTensor(),download=True)print(len(train_data))
print(len(test_data))#step2.數據集打包
train_data_loader=DataLoader(train_data,batch_size=64,shuffle=False)
test_data_loader=DataLoader(test_data,batch_size=64,shuffle=False)#step3.搭建網絡模型class My_Module(nn.Module):def __init__(self):super(My_Module,self).__init__()#64*32*32*32self.conv1=nn.Conv2d(in_channels=3,out_channels=32,\kernel_size=5,padding=2)#64*32*16*16self.maxpool1=nn.MaxPool2d(2)#64*32*16*16self.conv2=nn.Conv2d(in_channels=32,out_channels=32,\kernel_size=5,padding=2)#64*32*8*8self.maxpool2=nn.MaxPool2d(2)#64*64*8*8self.conv3=nn.Conv2d(in_channels=32,out_channels=64,\kernel_size=5,padding=2)#64*64*4*4self.maxpool3=nn.MaxPool2d(2)#線性化self.flatten=nn.Flatten()self.linear1=nn.Linear(in_features=1024,out_features=64)self.linear2=nn.Linear(in_features=64,out_features=10)def forward(self,input):#input:64,3,32,32output1=self.conv1(input)output2=self.maxpool1(output1)output3=self.conv2(output2)output4=self.maxpool2(output3)output5=self.conv3(output4)output6=self.maxpool3(output5)output7=self.flatten(output6)output8=self.linear1(output7)output9=self.linear2(output8)return output9my_model=My_Module()
# print(my_model)
loss_func=CrossEntropyLoss()#衡量模型訓練的過程(輸入輸出之間的差值)
#優化器,lr越大模型就越“聰明”
optim = torch.optim.SGD(my_model.parameters(),lr=0.001)writer=SummaryWriter('./train')
#################################訓練###############################
for looptime in range(10):             #模型訓練的次數:10print("------looptime:{}------".format(looptime+1))num=0loss_all=0for data in (train_data_loader):num+=1#前向imgs, targets = dataoutput = my_model(imgs)loss_train = loss_func(output,targets)loss_all=loss_all+loss_trainif num%100==0:print(loss_train)#后向backward 三步法  獲取最小的損失函數optim.zero_grad()loss_train.backward()optim.step()# print(output.shape)loss_av=loss_all/len(test_data_loader)print(loss_av)writer.add_scalar('train_loss',loss_av,looptime)writer.close()
#################################驗證#########################with torch.no_grad():accuracy=0test_loss_all=0for data in test_data_loader:imgs,targets = dataoutput = my_model(imgs)loss_test = loss_func(output,targets)#output.argmax(1)---輸出標簽accuracy=(output.argmax(1)==targets).sum()test_loss_all = test_loss_all+loss_testtest_loss_av = test_loss_all/len(test_data_loader)acc_av = accuracy/len(test_data_loader)print("測試集的平均損失{},測試集的準確率{}".format(test_loss_av,acc_av))writer.add_scalar('test_loss',test_loss_av,looptime)writer.add_scalar('acc',acc_av,looptime)writer.close()

2、運行模型

(1)首先會下載data文件庫

(2)完成之后會開始訓練模型(10次)

3、 訓練好之后,進入命令集

?4、輸入命令:python -m tensorboard.main --logdir="C:\Users\15535\Desktop\day6\train"

(1)目錄的絕對路徑獲得方法

執行下面的操作自動復制

?

?

?5、打開網頁可視化圖形

(1)運行完之后會自動有一個網址,點進去

?(2)顯示

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

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

相關文章

網絡工程師筆記6

ICMP協議 Internet控制報文協議ICMP(InternetControlMessage Protocol)是網絡層的一個重要協議。ICMP協議用來在網絡設備間傳遞各種差錯和控制信息,它對于收集各種網絡信息、診斷和排除各種網絡故障具有至關重要的作用。使用基于ICMP的應用時,需要對ICMP…

Vue.js+SpringBoot開發社區買菜系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、系統設計2.1 功能模塊設計2.1.1 數據中心模塊2.1.2 菜品分類模塊2.1.3 菜品檔案模塊2.1.4 菜品訂單模塊2.1.5 菜品收藏模塊2.1.6 收貨地址模塊 2.2 可行性分析2.3 用例分析2.4 實體類設計2.4.1 菜品分類模塊2.4.2 菜品檔案模塊2.4.3…

多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測

多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測 目錄 多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測預測效果基本介紹程序設計往期精彩參考資料 預測效果 基本介紹 多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網…

Springboot+vue的考勤管理系統(有報告)。Javaee項目,springboot vue前后端分離項目。

演示視頻: Springbootvue的考勤管理系統(有報告)。Javaee項目,springboot vue前后端分離項目。 項目介紹: 采用M(model)V(view)C(controller)三層…

GitHub Copilot extension activation error: ‘No access to GitHub Copilot found‘

好不容易學生認證通過了,打開vscode用copilot結果一直報這個錯誤。我的原因是:還未給copilot授權, 通過了學生認證后要進入這里進行授權:

Vue Html中插入本地視頻(Video 標簽)

在 Vue 中插入本地視頻可以通過使用標簽來實現。你可以將視頻文件放在你的項目中的合適位置(比如assets文件夾),然后在 Vue 組件中引用這個視頻文件。html同理 首先,在你的 Vue 項目中的assets文件夾下放入你的視頻文件&#xff…

k8s單機部署zookeeper

(作者:陳玓玏) 拉取鏡像:docker pull zookeeper;編輯yaml: apiVersion: v1 kind: Service metadata:name: zookeeperlabels:app: zookeeper spec:ports:- name: clientport: 2181protocol: TCPtargetP…

QT TCP傳輸文件+ui

TCPFile tcp協議傳輸文件 TCPFile.pro QT core gui networkclientwidget.h #include <QWidget> #include <QTcpSocket> // 通信套接字 #include <QFile>private slots:void on_pushButton_clicked();private:QTcpSocket *tcpSocket;QFile file; /…

selenium進階設置

1、無頭瀏覽設置和規避爬蟲檢測 問題一&#xff1a;有界面時可以展示的元素&#xff0c;無頭模式報錯element not interactable 解決方法&#xff1a;通過錯誤截圖發現&#xff0c;頁面上有該元素&#xff0c;但是頁面不夠大&#xff0c;沒有顯示想定位的元素。 from seleni…

centos7 安裝 docker-compose

1、直接參考官方&#xff1a; Install Compose standalone | Docker Docs 1、安裝命令 curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose 2、修改 docker-compose 執行權限 不修改執行權…

升級pycharm之后,jupyter無法識別新安裝的包

import sys print(sys.executable)在jupyter中運行&#xff0c;檢測一下當前jupyter內核運行在哪個環境中-再pycharm的setting里面設置jupyter環境并沒有什么用。需要重新在想要使用的環境中重新安裝jupyter內核&#xff0c;并且重啟。

c# cad2016系統變量解釋說明

一、cad系統變量設置和獲取 /// <summary> /// 設置CAD系統變量 /// </summary> /// <param name"name">變量名</param> /// <param name"value">變量值</param> public static void SetSystemVariable(string name,…

Sora背后的技術原理:深度探索Video Compression Network與語言理解在視頻生成中的應用

Sora背后的技術原理&#xff1a;深度探索Video Compression Network與語言理解在視頻生成中的應用 摘要&#xff1a; 隨著人工智能技術的飛速發展&#xff0c;視頻生成技術逐漸成為研究熱點。Sora作為一種先進的視頻生成技術&#xff0c;其背后的技術原理值得深入研究。本文詳…

物聯網平臺如何實現SaaS化

物聯網平臺實現SaaS化是一個復雜的過程&#xff0c;涉及到多個關鍵步驟和要素。以下是實現物聯網平臺SaaS化的主要步驟和要點&#xff0c;以及如何確保成功實施。 一、平臺架構設計是實現SaaS化的基礎 一個分布式、模塊化的架構設計對于支持多租戶、高并發、高可擴展性等特性…

【Django】執行查詢—F()表達式

F() F()可以實現將模型字段值與同一模型中的另一字段做比較。舉個例子看一下&#xff1a; class Entry(models.Model):...number_of_comments models.IntegerField(default0)number_of_pingbacks models.IntegerField(default0)...找到所有 number_of_pingbacks 大于 numbe…

大數據權限認證 Kerberos 部署

文章目錄 1、什么是 Kerberos2、Kerberos 術語和原理2.1、Kerberos 術語2.1、Kerberos 原理 3、Kerberos 服務部署3.1、前置條件3.2、安裝依賴3.3、配置 krb5.conf3.4、配置 kdc.conf3.5、配置 kadm5.acl3.6、安裝 KDC 數據庫3.7、啟動服務3.8、創建 Kerberos 管理員3.9、創建普…

idea 手動打 jar 包

1.在 File 中找到并點擊 Project Structure 2.按圖中高亮的部分依次點擊 3.在 Main Class 處設置要打包的類&#xff0c;記得在 Directory for ... 處設置目錄為根目錄&#xff0c;設置好以后點擊兩次 OK 回到首頁 4.在頁面上方找到 Build &#xff0c;點擊 Build Artifacts...…

【Linux】在 Ubuntu 系統下使用 Screen 運行 Python 腳本

在 Ubuntu 系統下使用 Screen 運行 Python 腳本的優點 在 Ubuntu 操作系統中&#xff0c;Screen 是一種非常有用的工具&#xff0c;特別是在需要長時間運行的任務或者需要在后臺運行的任務中。結合 Python 腳本&#xff0c;Screen 提供了一種靈活且高效的方式來管理和執行任務…

ECOVADIS評估-自2024年1月1日起發布的記分卡的資格標準說明

EcoVadis評分&#xff08;0-100分&#xff09;反映了進行評估時公司的企業社會責任管理體系的質量。EcoVadis獎牌和獎章計劃旨在表彰按EcoVadis評估方法中所述&#xff0c;已完成EcoVadis評估流程并展示出相對強大的管理系統來解決企業社會責任標準的合格公司。獎牌和獎章的資格…

docker常用操作命令

常用的命令&#xff0c;詳細的命令下方有具體介紹 docker ps 查看正在運行的容器 docker ps -a 查看全部容器 docker images 查看本地鏡像 docker search [鏡像名稱] 查詢鏡像 docker run --name mynginx -d nginx:latest&#xff1a; 使用docker鏡像nginx:latest以后臺模…