Να πάρει λάθος: μόνο ένα τανυστές στοιχείο μπορεί να μετατραπεί σε Python αυξανόμενα

ψήφοι
1

Μπορείτε σας παρακαλώ να βοηθήσει πώς να λύσει αυτό το πρόβλημα. Βασικά, προσπαθώ να μπει σε Pytorch δεδομένα λειτουργίας τανυστής που δεν είναι φορέας βαθμωτό. Χ1 και Χ2 είναι βασικά στήλες στο αρχείο CSV που περιέχει πολλές χορδές. Πώς να το είδος της επαναλαμβάνεται σε κάθε ενιαίο δεδομένα από x1 και x2 και όχι απλώς προσπαθεί να αναλύσει το σύνολο του φορέα. Είμαι αρχάριος σε Python και Pytorch επίσης.

import torch
import random
import pandas

data = pandas.read_csv('train/train.tsv', sep='\t')


learningrate = torch.tensor(0.01)
W = torch.rand([2, 2], dtype=torch.float, requires_grad=True)
b = torch.rand(2, dtype=torch.float, requires_grad=True)
U = torch.rand(2, dtype=torch.float, requires_grad=True)
c = torch.rand(1, dtype=torch.float, requires_grad=True)


def get_item():
 x1 = torch.tensor(data['Powierzchnia w m2'],
                  dtype=torch.float, requires_grad=True)
 x2 = torch.tensor(data['Liczba pokoi'],
                  dtype=torch.float, requires_grad=True)
 x = torch.tensor([x1, x2], dtype=torch.float)
 yexpected = torch.tensor(data['cena'].values, dtype=torch.float)
 return x, yexpected


for _ in range(100000):

 x, yexpected = get_item()
 h = torch.sigmoid(W @ x+b)

print(x)
print(yexpected)
print(h)
y = torch.sigmoid(U@h+c)
loss = (y-yexpected)**2
print(loss)
loss.backward()
with torch.no_grad():
    W -= learningrate * W.grad
    b -= learningrate * b.grad
    c -= learningrate * c.grad
    U -= learningrate * U.grad
    b.grad.zero_()
    W.grad.zero_()
    c.grad.zero_()
    U.grad.zero_()
Δημοσιεύθηκε 27/11/2018 στις 17:34
πηγή χρήστη
Σε άλλες γλώσσες...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more