คำถามติดแท็ก pytorch

8
วิธีการ“ ดู” ทำงานอย่างไรใน PyTorch
ฉันสับสนเกี่ยวกับวิธีการview()ในข้อมูลโค้ดต่อไปนี้ class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 6, 5) self.pool = nn.MaxPool2d(2,2) self.conv2 = nn.Conv2d(6, 16, 5) self.fc1 = nn.Linear(16*5*5, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) def forward(self, x): x = self.pool(F.relu(self.conv1(x))) x = self.pool(F.relu(self.conv2(x))) x = x.view(-1, 16*5*5) x = F.relu(self.fc1(x)) x = …
208 python  memory  pytorch  torch  tensor 

5
วิธีที่ดีที่สุดในการบันทึกโมเดลที่ได้รับการฝึกฝนใน PyTorch
ฉันกำลังมองหาวิธีอื่นในการบันทึกโมเดลที่ได้รับการฝึกฝนใน PyTorch จนถึงตอนนี้ฉันได้พบสองทางเลือก torch.save ()เพื่อบันทึกโมเดลและtorch.load ()เพื่อโหลดโมเดล model.state_dict ()เพื่อบันทึกโมเดลที่ผ่านการฝึกอบรมและmodel.load_state_dict ()เพื่อโหลดโมเดลที่บันทึกไว้ ฉันได้พบกับการสนทนานี้ที่แนะนำวิธีที่ 2 มากกว่าวิธีที่ 1 คำถามของฉันคือทำไมทำไมถึงเลือกวิธีที่สอง เป็นเพียงเพราะโมดูลtorch.nnมีสองฟังก์ชั่นเหล่านั้นและเราสนับสนุนให้ใช้พวกเขา?

10
จะตรวจสอบว่า pytorch ใช้ GPU ได้อย่างไร?
ฉันต้องการทราบว่าpytorchใช้ GPU ของฉันหรือไม่ เป็นไปได้ที่จะตรวจสอบด้วยnvidia-smiหากมีกิจกรรมใด ๆ จาก GPU ในระหว่างกระบวนการ แต่ฉันต้องการสิ่งที่เขียนในpythonสคริปต์ มีวิธีทำเช่นนั้นหรือไม่?


11
สรุปโมเดลใน pytorch
มีวิธีใดบ้างที่ฉันสามารถพิมพ์สรุปของโมเดลใน PyTorch เช่นเดียวกับmodel.summary()วิธีการใน Keras ดังต่อไปนี้ Model Summary: ____________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ==================================================================================================== input_1 (InputLayer) (None, 1, 15, 27) 0 ____________________________________________________________________________________________________ convolution2d_1 (Convolution2D) (None, 8, 15, 27) 872 input_1[0][0] ____________________________________________________________________________________________________ maxpooling2d_1 (MaxPooling2D) (None, 8, 7, 27) 0 convolution2d_1[0][0] ____________________________________________________________________________________________________ flatten_1 (Flatten) (None, 1512) 0 maxpooling2d_1[0][0] ____________________________________________________________________________________________________ …
127 python  pytorch 

2
ทำไมเราต้องเรียก zero_grad () ใน PyTorch
zero_grad()ต้องมีการเรียกวิธีการนี้ในระหว่างการฝึกอบรม แต่เอกสารประกอบก็ไม่ค่อยมีประโยชน์ | zero_grad(self) | Sets gradients of all model parameters to zero. ทำไมเราต้องเรียกวิธีนี้?

4
Pytorch อาร์กิวเมนต์ไล่ระดับคืออะไร
ฉันกำลังอ่านเอกสารของ PyTorch และพบตัวอย่างที่พวกเขาเขียน gradients = torch.FloatTensor([0.1, 1.0, 0.0001]) y.backward(gradients) print(x.grad) โดยที่ x เป็นตัวแปรเริ่มต้นซึ่ง y ถูกสร้างขึ้น (เวกเตอร์ 3 ตัว) คำถามคืออาร์กิวเมนต์ 0.1, 1.0 และ 0.0001 ของเทนเซอร์ไล่ระดับสีคืออะไร? เอกสารประกอบยังไม่ชัดเจนในเรื่องนี้

5
ทำไมเราถึง "แพ็ค" ลำดับใน pytorch?
ฉันพยายามทำซ้ำวิธีใช้การบรรจุสำหรับอินพุตลำดับความยาวผันแปรสำหรับ rnnแต่ฉันคิดว่าฉันต้องเข้าใจก่อนว่าทำไมเราต้อง "แพ็ค" ลำดับ ฉันเข้าใจว่าทำไมเราถึงต้อง "รอง" แต่ทำไม "การบรรจุ" (ผ่านpack_padded_sequence) จึงจำเป็น คำอธิบายระดับสูงใด ๆ จะได้รับการชื่นชม!

6
PyTorch - ติดกัน ()
ผมจะผ่านตัวอย่างของรูปแบบภาษา LSTM นี้บน GitHub (ลิงค์) สิ่งที่ทำโดยทั่วไปค่อนข้างชัดเจนสำหรับฉัน แต่ฉันยังคงดิ้นรนเพื่อทำความเข้าใจว่าการโทรcontiguous()ทำอะไรซึ่งเกิดขึ้นหลายครั้งในรหัส ตัวอย่างเช่นในบรรทัด 74/75 ของการป้อนรหัสและลำดับเป้าหมายของ LSTM จะถูกสร้างขึ้น ข้อมูล (เก็บไว้ในids) เป็น 2 มิติโดยที่มิติแรกคือขนาดแบทช์ for i in range(0, ids.size(1) - seq_length, seq_length): # Get batch inputs and targets inputs = Variable(ids[:, i:i+seq_length]) targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()) ตัวอย่างง่ายๆเมื่อใช้ขนาดแบทช์ 1 และseq_length10 inputsและtargetsมีลักษณะดังนี้: inputs Variable containing: 0 1 2 3 …

2
หนึ่งจะมีพารามิเตอร์ในรูปแบบ pytorch ไม่ใบไม้และอยู่ในกราฟการคำนวณได้อย่างไร
ฉันกำลังพยายามที่จะปรับปรุง / เปลี่ยนแปลงพารามิเตอร์ของแบบจำลองโครงข่ายประสาทเทียมแล้วมีการส่งต่อของโครงข่ายประสาทที่ได้รับการปรับปรุงให้อยู่ในกราฟการคำนวณ (ไม่ว่าเราจะทำการเปลี่ยนแปลง / อัปเดตจำนวนเท่าใดก็ตาม) ฉันลองความคิดนี้ แต่เมื่อใดก็ตามที่ฉันทำมัน pytorch จะตั้งค่าเทนเซอร์ที่ปรับปรุงใหม่ของฉัน (ภายในตัวแบบ) เป็นใบไม้ซึ่งจะฆ่าการไล่ระดับสีของการไล่ระดับสีไปยังเครือข่ายที่ฉันต้องการรับการไล่ระดับสี มันฆ่าการไหลของการไล่ระดับสีเนื่องจากโหนดใบไม้ไม่ได้เป็นส่วนหนึ่งของกราฟการคำนวณในแบบที่ฉันต้องการให้มันเป็น (เพราะมันไม่ใช่ใบไม้จริง ๆ ) ฉันลองหลายอย่างแล้วแต่ดูเหมือนว่าจะไม่ทำงาน ฉันสร้างรหัสจำลองที่มีอยู่ในตัวซึ่งพิมพ์การไล่ระดับสีของเครือข่ายที่ฉันต้องการให้มีการไล่ระดับสี: import torch import torch.nn as nn import copy from collections import OrderedDict # img = torch.randn([8,3,32,32]) # targets = torch.LongTensor([1, 2, 0, 6, 2, 9, 4, 9]) # img = torch.randn([1,3,32,32]) # …

1
RuntimeError: ประเภทอินพุต (torch.FloatTensor) และประเภทน้ำหนัก (torch.cuda.FloatTensor) ควรเหมือนกัน
ฉันพยายามฝึก CNN ต่อไปนี้ แต่ฉันได้รับข้อผิดพลาดเดียวกันกับ. cuda () และฉันไม่แน่ใจว่าจะแก้ไขได้อย่างไร นี่คือโค้ดของฉันตอนนี้ import matplotlib.pyplot as plt import numpy as np import torch from torch import nn from torch import optim import torch.nn.functional as F import torchvision from torchvision import datasets, transforms, models from torch.utils.data.sampler import SubsetRandomSampler data_dir = "/home/ubuntu/ML2/ExamII/train2/" valid_size = .2 # Normalize …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.