|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> python Programming >> Content

    Hur man använder PyTorch i Python [Komplett handledning]

    ## Komma igång med PyTorch

    Steg 1:Konfigurera miljö

    * Installera Python och skapa en virtuell miljö

    - Python 3.6 eller högre rekommenderas.

    - Skapa en virtuell miljö med `python -m venv venv` (eller `virtualenv venv` för äldre Python-versioner) och aktivera den med `source venv/bin/activate` på Linux/macOS eller `venv\Scripts\activate` på Windows .

    * Installera PyTorch

    - Använd `pip` för att installera PyTorch:`pip install torch torchvision`.

    - För GPU-stöd, installera "torch" med alternativet "-c pytorch".

    Steg 2:Enkelt exempel – Skapa en tensor

    ``` python

    importera ficklampa

    Skapa en tensor från en lista

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

    Skriv ut tensorn

    print (tensor)

    Skriv ut formen på tensorn

    print(tensor.shape)

    Skriv ut typen av tensor

    print(tensor.dtype)

    ```

    Produktion:

    ```

    tensor([1, 2, 3])

    ficklampa.Size([3])

    torch.int64

    ```

    Steg 3:Grundläggande matematikoperationer

    ``` python

    Elementvis tillägg

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

    tensor2 =torch.tensor([4, 5, 6])

    resultat =tensor + tensor2

    print (resultat)

    Utdata:tensor([ 5, 7, 9])

    Matrismultiplikation

    matrix1 =torch.tensor([[1, 2], [3, 4]])

    matrix2 =torch.tensor([[5, 6], [7, 8]])

    resultat =ficklampa.mm(matris1, matris2)

    print (resultat)

    Utdata:tensor([[19, 22], [43, 50]])

    ```

    Steg 4:Använd GPU för snabbare beräkning

    ``` python

    Kontrollera om CUDA är tillgängligt

    om torch.cuda.is_available():

    # Flytta tensorerna till GPU

    device =torch.device("cuda")

    tensor =tensor.to(enhet)

    tensor2 =tensor2.to(enhet)

    # Utför operationer på GPU

    resultat =tensor + tensor2

    # Flytta tillbaka resultatet till CPU om det behövs

    resultat =result.to("cpu")

    print (resultat)

    ```

    Arbeta med data

    Steg 1:Datauppsättning

    PyTorch tillhandahåller ett bekvämt sätt att arbeta med datauppsättningar genom att använda sin "Dataset"-klass. Här är ett exempel:

    ``` python

    klass MyDataset(torch.utils.data.Dataset):

    def __init__(själv, data, etiketter):

    self.data =data

    self.labels =etiketter

    def __getitem__(själv, index):

    returnera self.data[index], self.labels[index]

    def __len__(själv):

    return len(self.data)

    Skapa en instans av datasetet

    dataset =MyDataset(data, etiketter)

    ```

    Steg 2:DataLoader

    Använd `DataLoader` för att effektivt ladda data i omgångar under träning.

    ``` python

    Definiera batchstorlek

    batch_size =32

    Skapa en dataladdare

    data_loader =torch.utils.data.DataLoader(dataset, batch_size=batch_size)

    Iterera genom satserna

    för batch i data_loader:

    # Här skulle batch vara en tuppel av `(data, etiketter)`

    ```

    Bygga ett neuralt nätverk

    Steg 1:Initiera ditt nätverk

    ``` python

    importera torch.nn som nn

    Definiera ett enkelt neuralt nätverk med 3 lager

    klass MyNeuralNetwork(nn.Module):

    def __init__(själv):

    super(MyNeuralNetwork, self).__init__()

    self.layer1 =nn.Linear(784, 256) # Indatalager

    self.layer2 =nn.Linear(256, 128) # Dolt lager

    self.layer3 =nn.Linear(128, 10) # Utdatalager

    def forward(själv, x):

    x =x.view(x.shape[0], -1) # Platta ingång

    x =F.relu(self.layer1(x)) # Aktiveringsfunktion (ReLU)

    x =F.relu(self.layer2(x)) # Aktiveringsfunktion (ReLU)

    x =F.log_softmax(self.layer3(x)) # Utdatalager med softmax

    tillbaka x

    Initiera nätverket

    nätverk =MyNeuralNetwork()

    ```

    Steg 2:Definiera förlustfunktion och optimering

    ``` python

    importera torch.optim som optim

    Definiera förlustfunktion (här använder vi korsentropiförlust)

    loss_fn =nn.CrossEntropyLoss()

    Definiera optimerare (här använder vi stokastisk gradientnedstigning)

    optimizer =optim.SGD(nätverk.parameters(), lr=0,001)

    ```

    Steg 3:Träna nätverket

    ``` python

    Träna nätverket i 10 epoker

    för epok inom intervall(10):

    för batch i data_loader:

    # Få indata och etiketter

    ingångar, etiketter =batch

    # Tydliga övertoningar

    optimizer.zero_grad()

    # Framåtpassning

    utgångar =nätverk (ingångar)

    # Beräkningsförlust

    förlust =förlust_fn(utgångar, etiketter)

    # Passa bakåt och uppdatera vikter

    loss.backward()

    optimizer.step()

    print(f"Epok {epok + 1}:Förlust:{loss.item()}")

    ```

    Steg 4:Utvärdera nätverket

    ``` python

    Utvärdera nätverksnoggrannheten på testdatauppsättningen

    med torch.no_grad():

    korrekt =0

    totalt =0

    för batch i test_data_loader:

    ingångar, etiketter =batch

    # Framåtpassning

    utgångar =nätverk (ingångar)

    # Få förutsägelser

    _, predicted =torch.max(outputs.data, 1)

    # Uppdatera noggrannhetsräkning

    totalt +=labels.size(0)

    korrekt +=(förutsagt ==etiketter).sum().item()

    # Beräkna noggrannhet

    noggrannhet =korrekt / totalt

    print(f"Noggrannhet på testdata:{noggrannhet * 100}%")

    ```

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man kontrollerar alla Python-versioner installerade…
    ·Hur man kör tre slingor i Python
    ·Hur man gör en 2D dynamisk array med strängar i Pytho…
    ·Hur Design bokföringsprogram
    ·Vad är Python 2.6 & PyWin
    ·Vad är Python EXE
    ·Hur att bestämma längden av Dictionary i Python
    ·Hur få systemet Date From Python
    ·Yttre funktion och omfattning i Python
    ·Hur Extrahera processoranvändning Med Python
    Utvalda artiklarna
    ·Hur felsöka JavaScript i Eclipse
    ·Hur man använder VB6 Inet Kontroller
    ·Hur felsöka Perl på Windows
    ·Instruktioner för hur du aktiverar JavaScript
    ·Hur man lägga till en sträng till en annan sträng i …
    ·Hur man gör ett program med Microsoft Visual C
    ·Hur man flyttar en NetBeans projekt från Mac till Wind…
    ·Hur du installerar Mongrel i Ruby
    ·Hur du tar bort knappar i GridView
    ·Hur Importera javax Servlet på NetBeans
    Copyright © Dator Kunskap http://www.dator.xyz