網站首頁 編程語言 正文
類的參數定義
將conda環境設置為ai,conda activate ai
這個文件的由來:
由于在yolov1的pytorch實現的損失函數中,看到繼承了nn.Module,并且其中兩個參數不像c++那里指定類型,那么他們的類型是哪里來的
這里就是在探索這樣一件事
操作邏輯:
- 先在類中定義了構造函數以及一個自定義函數;
- 構造函數定義了屬性S、B,自定義函數引入兩個參數,對兩個參數進行調用
- 這里就說明參數的結構是怎么樣的,取決于參數被調用了什么東西,比如這里調用了
N = box1.size(0) M = box2.size(0)
說明了它是類似一個矩陣的東西,對應的box1的定義就是`torch.rand(10,4)
- 這里就說明參數的結構是怎么樣的,取決于參數被調用了什么東西,比如這里調用了
import torch import torch.nn as nn import torch.nn.functional as F from torch.autograd import Variable #探究屬性S,B是如何產生的,以及box1、box2是如何產生的、如何調用 class yoloLoss(nn.Module): def __init__(self,S,B): self.S=S self.B=B def compute_iot(self,box1,box2): N = box1.size(0) #調用方式就表示了變量是什么類型,這里是一個張量,其中每個元素是一個tensor,所以是N*4的張量 M = box2.size(0) print(M,N) yoloLoss1 =yoloLoss(10, 11) yoloLoss1.compute_iot(torch.rand(10,4),torch.rand(11,4))
數據擴展
探究unsqueeze以及expand的使用方法,unsqueeze可以增加一個緯度,但是維度的siz只是1而已,而expand就可以將數據進行復制,將數據變為n
# 獲得一開始的初始化數值:tensor([[a1,a2,a3]]) nn1=torch.rand(1,3) print(nn1) # unsqueeze是解壓的意思,在第i個維度上進行擴展,將其擴展為tensor([[[a1,a2,a3]]]) nn1=nn1.unsqueeze(0) print("*"*100) print(nn1) #利用expand對數據進行擴展 nn1=nn1.expand(1,3,3) print("*"*100) print(nn1)
原文鏈接:https://blog.csdn.net/weixin_42295969/article/details/126346660
相關推薦
- 2022-09-12 nginx訪問報403錯誤的幾種情況詳解_nginx
- 2022-06-27 詳解Python中while無限迭代循環方法_python
- 2023-02-10 Redis如何正確關閉和開啟持久化_Redis
- 2023-02-07 C++實現字符串和整數的相互轉換_C 語言
- 2022-12-14 Jetpack?Compose?DropdownMenu手指跟隨點擊顯示_Android
- 2022-05-18 C語言實現學生宿舍信息管理系統_C 語言
- 2022-05-21 Deployment副本無狀態服務創建及水平擴展_服務器其它
- 2022-07-27 關于pytest結合csv模塊實現csv格式的數據驅動問題_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支