日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一個超強 Pytorch 操作!!

來源: 責編: 時間:2024-01-02 09:30:10 239觀看
導讀哈嘍,我是小壯!這幾天關于深度學習的內容,已經分享了一些。另外,類似于numpy、pandas常用數據處理函數,在Pytorch中也是同樣的重要,同樣的有趣!!Pytorch同樣提供了許多用于數據處理和轉換的函數。今兒來看下,最重要的幾個必會

哈嘍,我是小壯!cBS28資訊網——每日最新資訊28at.com

這幾天關于深度學習的內容,已經分享了一些。cBS28資訊網——每日最新資訊28at.com

另外,類似于numpy、pandas常用數據處理函數,在Pytorch中也是同樣的重要,同樣的有趣!!cBS28資訊網——每日最新資訊28at.com

Pytorch同樣提供了許多用于數據處理和轉換的函數。cBS28資訊網——每日最新資訊28at.com

今兒來看下,最重要的幾個必會函數。cBS28資訊網——每日最新資訊28at.com

cBS28資訊網——每日最新資訊28at.com

torch.Tensor

torch.Tensor 是PyTorch中最基本的數據結構,用于表示張量(tensor)。張量是多維數組,可以包含數字、布爾值等。你可以使用torch.Tensor的構造函數創建張量,也可以通過其他函數創建。cBS28資訊網——每日最新資訊28at.com

import torch# 創建一個空的張量empty_tensor = torch.Tensor()# 從列表創建張量data = [1, 2, 3, 4]tensor_from_list = torch.Tensor(data)

torch.from_numpy

用于將NumPy數組轉換為PyTorch張量。cBS28資訊網——每日最新資訊28at.com

import numpy as npnumpy_array = np.array([1, 2, 3, 4])torch_tensor = torch.from_numpy(numpy_array)

torch.Tensor.item

用于從只包含一個元素的張量中提取Python數值。適用于標量張量。cBS28資訊網——每日最新資訊28at.com

scalar_tensor = torch.tensor(5)scalar_value = scalar_tensor.item()

torch.Tensor.view

用于改變張量的形狀。cBS28資訊網——每日最新資訊28at.com

original_tensor = torch.randn(2, 3)  # 2x3的隨機張量reshaped_tensor = original_tensor.view(3, 2)  # 將形狀改變為3x2

torch.Tensor.to

用于將張量轉換到指定的設備(如CPU或GPU)。cBS28資訊網——每日最新資訊28at.com

cpu_tensor = torch.randn(3)gpu_tensor = cpu_tensor.to("cuda")  # 將張量移動到GPU

torch.Tensor.numpy

將張量轉換為NumPy數組。cBS28資訊網——每日最新資訊28at.com

pytorch_tensor = torch.tensor([1, 2, 3])numpy_array = pytorch_tensor.numpy()

torch.nn.functional.one_hot

用于對整數張量進行獨熱編碼。cBS28資訊網——每日最新資訊28at.com

import torch.nn.functional as Finteger_tensor = torch.tensor([0, 2, 1])one_hot_encoded = F.one_hot(integer_tensor)

torch.utils.data.Dataset和torch.utils.data.DataLoader

用于加載和處理數據集。這兩個類通常與自定義的數據集類一起使用。cBS28資訊網——每日最新資訊28at.com

from torch.utils.data import Dataset, DataLoaderclass CustomDataset(Dataset):    def __init__(self, data):        self.data = data        def __len__(self):        return len(self.data)        def __getitem__(self, index):        return self.data[index]dataset = CustomDataset([1, 2, 3, 4, 5])dataloader = DataLoader(dataset, batch_size=2, shuffle=True)

以上這些是PyTorch中一些重要的數據轉換函數,進行了簡單的使用。cBS28資訊網——每日最新資訊28at.com

它們對于處理和準備深度學習任務中的數據非常非常有幫助。cBS28資訊網——每日最新資訊28at.com

一個案例

接下來,我們制作一個圖像分割的案例。cBS28資訊網——每日最新資訊28at.com

在這個案例中,我們將使用PyTorch和torchvision庫進行圖像分割,使用預訓練的DeepLabV3模型和PASCAL VOC數據集。cBS28資訊網——每日最新資訊28at.com

在整個的代碼中,涉及到上面所學到的內容,調整大小、裁剪、標準化等。cBS28資訊網——每日最新資訊28at.com

import torchimport torchvision.transforms as transformsfrom torchvision import modelsfrom PIL import Imageimport matplotlib.pyplot as plt# 下載示例圖像!wget -O example_image.jpg https://pytorch.org/assets/deeplab/deeplab1.jpg# 定義圖像轉換transform = transforms.Compose([    transforms.Resize((256, 256)),  # 調整大小    transforms.ToTensor(),           # 轉換為張量    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])  # 標準化])# 加載并轉換圖像image_path = 'example_image.jpg'image = Image.open(image_path).convert("RGB")input_tensor = transform(image).unsqueeze(0)  # 添加批次維度# 加載預訓練的DeepLabV3模型model = models.segmentation.deeplabv3_resnet101(pretrained=True)model.eval()# 進行圖像分割with torch.no_grad():    output = model(input_tensor)['out'][0]    output_predictions = output.argmax(0)# 將預測結果轉換為彩色圖像def decode_segmap(image, nc=21):    label_colors = np.array([(0, 0, 0),  # 0: 背景                             (128, 0, 0), (0, 128, 0), (128, 128, 0), (0, 0, 128), (128, 0, 128),  # 1-5: 物體                             (0, 128, 128), (128, 128, 128), (64, 0, 0), (192, 0, 0),  # 6-9: 道路                             (64, 128, 0), (192, 128, 0), (64, 0, 128), (192, 0, 128),  # 10-13: 面部                             (64, 128, 128), (192, 128, 128), (0, 64, 0), (128, 64, 0),  # 14-17: 植物                             (0, 192, 0), (128, 192, 0), (0, 64, 128)])  # 18-20: 建筑    r = np.zeros_like(image).astype(np.uint8)    g = np.zeros_like(image).astype(np.uint8)    b = np.zeros_like(image).astype(np.uint8)    for l in range(0, nc):        idx = image == l        r[idx] = label_colors[l, 0]        g[idx] = label_colors[l, 1]        b[idx] = label_colors[l, 2]    rgb = np.stack([r, g, b], axis=2)    return rgb# 將預測結果轉換為彩色圖像output_rgb = decode_segmap(output_predictions.numpy())# 可視化原始圖像和分割結果plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)plt.imshow(image)plt.title('Original Image')plt.subplot(1, 2, 2)plt.imshow(output_rgb)plt.title('Segmentation Result')plt.show()

在這個案例中,我們首先定義了一系列圖像轉換函數,包括調整大小、轉換為張量和標準化。這些轉換確保輸入圖像滿足模型的需求。cBS28資訊網——每日最新資訊28at.com

然后,加載了一個示例圖像并應用了這些轉換。cBS28資訊網——每日最新資訊28at.com

接下來,我們使用了torchvision中預訓練的DeepLabV3模型來進行圖像分割。對于輸出,我們提取了預測結果的最大值索引,以獲得每個像素的預測類別。cBS28資訊網——每日最新資訊28at.com

最后,我們將預測結果轉換為彩色圖像,并可視化原始圖像和分割結果。cBS28資訊網——每日最新資訊28at.com

cBS28資訊網——每日最新資訊28at.com

這個案例強調了圖像轉換函數在圖像分割任務中的重要作用,確保輸入圖像符合模型的輸入要求,并且輸出結果易于可視化。cBS28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-55080-0.html一個超強 Pytorch 操作!!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: [備忘錄]Markdown最常用的20個語法

下一篇: 在Go中使用Goroutines和Channels發送電子郵件

標簽:
  • 熱門焦點
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協調和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現手段有以下幾種方式:Object 類下
  • Automa-通過連接塊來自動化你的瀏覽器

    1、前言通過瀏覽器插件可實現自動化腳本的錄制與編寫,具有代表性的工具就是:Selenium IDE、Katalon Recorder,對于簡單的業務來說可快速實現自動化的上手工作。Selenium IDEKat
  • 每天一道面試題-CPU偽共享

    前言:了不起:又到了每天一到面試題的時候了!學弟,最近學習的怎么樣啊 了不起學弟:最近學習的還不錯,每天都在學習,每天都在進步! 了不起:那你最近學習的什么呢? 了不起學弟:最近在學習C
  • 雅柏威士忌多款單品價格大跌,泥煤頂流也不香了?

    來源 | 烈酒商業觀察編 | 肖海林今年以來,威士忌市場開始出現了降溫跡象,越來越多不斷暴漲的網紅威士忌也開始悄然回歸市場理性。近日,LVMH集團旗下蘇格蘭威士忌品牌雅柏(Ardbeg
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁“充值中心”入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 當家的盒馬,加速謀生

    來源 | 價值星球Planet作者 | 歸去來自己“當家”的盒馬,開始加速謀生了。據盒馬官微消息,盒馬計劃今年開放生鮮供應鏈,將其生鮮商品送往食堂。目前,盒馬在上海已經與
  • 三星電子Q2營收60萬億韓元 存儲業務營收同比仍下滑超過50%

    7月27日消息,據外媒報道,從三星電子所發布的財報來看,他們主要利潤來源的存儲芯片業務在今年二季度仍不樂觀,營收同比仍在大幅下滑,所在的設備解決方案
  • onebot M24巧系列一體機采用輕薄機身設計,現已在各平臺開售

    onebot M24 巧系列一體機目前已在線上線下各平臺同步開售。onebot M24 巧系列采用一體化輕薄機身設計,最薄處為 10.15mm,擁有寶石紅、午夜藍、石墨綠、雅致
Top 主站蜘蛛池模板: 凭祥市| 新乡县| 凤山市| 土默特右旗| 广东省| 平舆县| 象州县| 顺义区| 土默特右旗| 苍溪县| 光泽县| 称多县| 陆河县| 东台市| 偏关县| 阳谷县| 股票| 濮阳县| 象州县| 全州县| 永善县| 吴忠市| 鸡泽县| 定襄县| 宜兰市| 徐水县| 永善县| 嘉鱼县| 紫金县| 乌拉特后旗| 响水县| 泽库县| 南岸区| 丰县| 金秀| 鄂托克前旗| 嘉黎县| 丹阳市| 栾川县| 九龙坡区| 轮台县|