欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pytorch中的masked_fill基本知識詳解

 更新時(shí)間:2024年10月26日 10:06:41   作者:碼農(nóng)研究僧  
本文介紹了PyTorch中masked_fill函數(shù)的基本使用和原理,該函數(shù)接受一個(gè)輸入張量和一個(gè)布爾掩碼作為參數(shù),掩碼的形狀必須與輸入張量相同,True表示需要填充的位置,False表示保持原值

1. 基本知識

基本的原理知識如下:

輸入張量和掩碼
masked_fill 接受兩個(gè)主要參數(shù):一個(gè)輸入張量和一個(gè)布爾掩碼
掩碼的形狀必須與輸入張量相同,True 表示需要填充的位置,F(xiàn)alse 表示保持原值

掩碼操作
在執(zhí)行 masked_fill 操作時(shí),函數(shù)會(huì)檢查掩碼中每個(gè)元素的值
如果掩碼對應(yīng)的位置為 True,則在輸出張量中填充指定的值;
如果為 False,則保留輸入張量中對應(yīng)位置的值

輸出結(jié)果
最終生成的新張量包含了在掩碼位置上被替換的值,其余位置保持原樣

在代碼邏輯上

創(chuàng)建掩碼
mask 是一個(gè)布爾張量,標(biāo)識了哪些位置需要填充:

[[False, True, False],
 [True, False, True],
 [False, False, True]]

執(zhí)行 masked_fill
當(dāng)調(diào)用 tensor.masked_fill(mask, -1) 時(shí),PyTorch 會(huì)遍歷掩碼中的每個(gè)元素:對于 mask 中的每個(gè) True 值,tensor 在對應(yīng)位置的值會(huì)被替換為 -1,對于 False 值,保持原值不變

masked_fill 操作是基于 C/C++ 的實(shí)現(xiàn),因此在處理大規(guī)模數(shù)據(jù)時(shí)性能較高。常用于深度學(xué)習(xí)模型中的數(shù)據(jù)預(yù)處理,比如在填充序列、處理缺失值或標(biāo)記特定條件的數(shù)據(jù)時(shí)

2. Demo

Demo 1: 基本用法

import torch

# 創(chuàng)建一個(gè) 3x3 的張量
tensor = torch.tensor([[1, 2, 3],
                       [4, 5, 6],
                       [7, 8, 9]])

# 創(chuàng)建一個(gè)掩碼,標(biāo)記要填充的位置
mask = torch.tensor([[False, True, False],
                     [True, False, True],
                     [False, False, True]])

# 使用 masked_fill 填充掩碼位置為 -1
result = tensor.masked_fill(mask, -1)

print("原始張量:")
print(tensor)
print("\n填充后的張量:")
print(result)

截圖如下:

Demo 2: 與條件結(jié)合使用

import torch
# 創(chuàng)建一個(gè)隨機(jī)張量
tensor = torch.randn(3, 3)
# 創(chuàng)建掩碼:標(biāo)記負(fù)值的位置
mask = tensor < 0
# 將負(fù)值位置填充為 0
result = tensor.masked_fill(mask, 0)
print("原始張量:")
print(tensor)
print("\n填充后的張量 (負(fù)值填充為 0):")
print(result)

截圖如下:

Demo 3: 結(jié)合計(jì)算

import torch
# 創(chuàng)建一個(gè)張量
tensor = torch.tensor([[10, 20, 30],
                       [40, 50, 60],
                       [70, 80, 90]])
# 創(chuàng)建掩碼:標(biāo)記大于 50 的位置
mask = tensor > 50
# 用 999 填充大于 50 的位置
result = tensor.masked_fill(mask, 999)
print("原始張量:")
print(tensor)
print("\n填充后的張量 (大于 50 的位置填充為 999):")
print(result)

截圖如下:

到此這篇關(guān)于Pytorch中的masked_fill基本知識的文章就介紹到這了,更多相關(guān)Pytorch masked_fill內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中pandas的dataframe過濾數(shù)據(jù)方法

    Python中pandas的dataframe過濾數(shù)據(jù)方法

    這篇文章主要介紹了Python中pandas的dataframe過濾數(shù)據(jù)方法,Pandas是另外一個(gè)用于處理高級數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析的Python庫,Pandas是基于Numpy構(gòu)建的一種工具,需要的朋友可以參考下
    2023-07-07
  • 詳解python中的json的基本使用方法

    詳解python中的json的基本使用方法

    本篇文章主要介紹了python中的json的基本使用方法,在Python中使用json的時(shí)候,主要也就是使用json模塊,json是以一種良好的格式來進(jìn)行數(shù)據(jù)的交互,有興趣的可以了解一下。
    2016-12-12
  • pyinstaller打包單文件時(shí)--uac-admin選項(xiàng)不起作用怎么辦

    pyinstaller打包單文件時(shí)--uac-admin選項(xiàng)不起作用怎么辦

    這篇文章主要介紹了pyinstaller打包單文件時(shí)--uac-admin選項(xiàng)不起作用怎么辦,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 用Python遠(yuǎn)程登陸服務(wù)器的步驟

    用Python遠(yuǎn)程登陸服務(wù)器的步驟

    這篇文章主要介紹了用Python遠(yuǎn)程登陸服務(wù)器的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python基礎(chǔ)操作列表切片解析

    python基礎(chǔ)操作列表切片解析

    列表和字符串一樣,列表同樣可以截取和被索引,列表被截取后返回一個(gè)包含所需元素的新列表,List中的元素是可以改變的,需要的朋友可以參考下
    2023-04-04
  • python使用標(biāo)準(zhǔn)庫根據(jù)進(jìn)程名如何獲取進(jìn)程的pid詳解

    python使用標(biāo)準(zhǔn)庫根據(jù)進(jìn)程名如何獲取進(jìn)程的pid詳解

    Python有一套很有用的標(biāo)準(zhǔn)庫(standard library)。標(biāo)準(zhǔn)庫會(huì)隨著Python解釋器,一起安裝在你的電腦中的,所以下面這篇文章主要給大家介紹了關(guān)于python使用標(biāo)準(zhǔn)庫根據(jù)進(jìn)程名如何獲取進(jìn)程pid的相關(guān)資料,需要的朋友可以參考下。
    2017-10-10
  • Python中文檔生成利器Sphinx的入門指南

    Python中文檔生成利器Sphinx的入門指南

    在Python開發(fā)過程中,良好的文檔是項(xiàng)目成功的關(guān)鍵之一,Sphinx是一個(gè)強(qiáng)大的文檔生成工具,本文將為大家詳細(xì)介紹Sphinx的具體使用,需要的可以參考下
    2025-01-01
  • Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例

    Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例

    今天小編就為大家分享一篇Python 字符串與二進(jìn)制串的相互轉(zhuǎn)換示例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python遍歷路徑破解表單的示例

    python遍歷路徑破解表單的示例

    這篇文章主要介紹了python遍歷路徑破解表單的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python使用str & repr轉(zhuǎn)換字符串

    python使用str & repr轉(zhuǎn)換字符串

    str() 是將 數(shù)值 轉(zhuǎn)成字符串 repr() 是將一個(gè)對象 轉(zhuǎn)成字符串 顯示 看明白了么:str()是將一個(gè)對象轉(zhuǎn)化成str對象 repr()是將一個(gè)對象可視化,使用字符串輸出,使編程人員看到其的內(nèi)部結(jié)構(gòu)
    2016-10-10

最新評論