| Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Python Programming >> Content
    Hvordan bruke PyTorch i Python [Komplett veiledning]
    ## Komme i gang med PyTorch

    Trinn 1:Miljøoppsett

    * Installer Python og lag et virtuelt miljø

    - Python 3.6 eller høyere anbefales.

    - Lag et virtuelt miljø ved å bruke `python -m venv venv` (eller `virtualenv venv` for eldre Python-versjoner) og aktiver det med `source venv/bin/activate` på Linux/macOS eller `venv\Scripts\activate` på Windows .

    * Installer PyTorch

    - Bruk `pip` for å installere PyTorch:`pip install torch torchvision`.

    - For GPU-støtte, installer `torch` med `-c pytorch`-alternativet.

    Trinn 2:Enkelt eksempel – Opprette en tensor

    ``` python

    importere lommelykt

    Lag en tensor fra en liste

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

    Skriv ut tensoren

    print (tensor)

    Skriv ut formen til tensoren

    print(tensor.shape)

    Skriv ut typen tensor

    print(tensor.dtype)

    ```

    Produksjon:

    ```

    tensor([1, 2, 3])

    fakkel.Størrelse([3])

    torch.int64

    ```

    Trinn 3:Grunnleggende matematiske operasjoner

    ``` python

    Elementmessig tillegg

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

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

    resultat =tensor + tensor2

    print (resultat)

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

    Matrisemultiplikasjon

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

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

    resultat =fakkel.mm(matrise1, matrise2)

    print (resultat)

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

    ```

    Trinn 4:Bruk av GPU for raskere beregning

    ``` python

    Sjekk om CUDA er tilgjengelig

    if torch.cuda.is_available():

    # Flytt tensorene til GPU

    device =torch.device("cuda")

    tensor =tensor.to(enhet)

    tensor2 =tensor2.to(enhet)

    # Utfør operasjoner på GPU

    resultat =tensor + tensor2

    # Flytt resultatet tilbake til CPU om nødvendig

    resultat =result.to("cpu")

    print (resultat)

    ```

    Arbeid med data

    Trinn 1:Datasett

    PyTorch gir en praktisk måte å jobbe med datasett ved å bruke sin `Dataset`-klasse. Her er et eksempel:

    ``` python

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

    def __init__(selv, data, etiketter):

    self.data =data

    self.labels =etiketter

    def __getitem__(selv, indeks):

    returner self.data[indeks], self.labels[indeks]

    def __len__(selv):

    return len(selv.data)

    Opprett en forekomst av datasettet

    datasett =MyDataset(data, etiketter)

    ```

    Trinn 2:DataLoader

    Bruk `DataLoader` for å effektivt laste data i grupper under trening.

    ``` python

    Definer batchstørrelse

    batch_size =32

    Opprett en datalaster

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

    Iterer gjennom batchene

    for batch i data_loader:

    # Her vil batch være en tuppel av `(data, etiketter)`

    ```

    Bygge et nevralt nettverk

    Trinn 1:Initialiser nettverket ditt

    ``` python

    import fakkel.nn som nn

    Definer et enkelt nevralt nettverk med 3 lag

    klasse MyNeuralNetwork(nn.Module):

    def __init__(selv):

    super(MyNeuralNetwork, self).__init__()

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

    self.layer2 =nn.Linear(256, 128) # Skjult lag

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

    def forward(selv, x):

    x =x.view(x.shape[0], -1) # Flatt input

    x =F.relu(selv.lag1(x)) # Aktiveringsfunksjon (ReLU)

    x =F.relu(selv.lag2(x)) # Aktiveringsfunksjon (ReLU)

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

    returnere x

    Initialiser nettverket

    nettverk =MyNeuralNetwork()

    ```

    Trinn 2:Definer tapsfunksjon og optimalisering

    ``` python

    importer torch.optim som optim

    Definer tapsfunksjon (her bruker vi kryssentropitap)

    loss_fn =nn.CrossEntropyLoss()

    Definer optimizer (her bruker vi stokastisk gradientnedstigning)

    optimizer =optim.SGD(nettverk.parametere(), lr=0,001)

    ```

    Trinn 3:Tren nettverket

    ``` python

    Tren nettverket i 10 epoker

    for epoke i rekkevidde(10):

    for batch i data_loader:

    # Få inndata og etiketter

    innganger, etiketter =batch

    # Tydelige gradienter

    optimizer.zero_grad()

    # Fremoverpasning

    utganger =nettverk (innganger)

    # Beregningstap

    tap =tap_fn(utganger, etiketter)

    # Bakoverpass og oppdater vekter

    loss.backward()

    optimizer.step()

    print(f"Epoke {epoke + 1}:Tap:{loss.item()}")

    ```

    Trinn 4:Evaluer nettverket

    ``` python

    Vurder nettverksnøyaktigheten på testdatasettet

    med torch.no_grad():

    riktig =0

    totalt =0

    for batch i test_data_loader:

    innganger, etiketter =batch

    # Fremoverpasning

    utganger =nettverk (innganger)

    # Få spådommer

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

    # Oppdater nøyaktighettelling

    totalt +=labels.size(0)

    korrekt +=(spådd ==etiketter).sum().item()

    # Beregn nøyaktighet

    nøyaktighet =riktig / totalt

    print(f"Nøyaktighet på testdata:{nøyaktighet * 100}%")

    ```

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bli kvitt en New Line Character i Python 
    ·Hvordan skrive en e-post Miner for Python 
    ·Finne ut om en streng er en Palindrome i Python 
    ·Hvordan lage nye linjer i Python 
    ·Hvordan skrive til en fil i Python 
    ·Hvordan å telle ned i Range i Python 
    ·Å gjøre Histograms i Python 
    ·Hvordan lage en fane i Python 
    ·Hvordan sette opp prosjektbiblioteker i Python 
    ·Hvordan logge inn for å Zangle bruke Python 
      Anbefalte artikler
    ·Hvordan finne den filstørrelse i Perl 
    ·Oracle DBA sertifisering eksamen Krav 
    ·Hvordan få Bruker Input i Java 
    ·Hvordan bruke foreach erklæringen i Perl 
    ·Hvordan Lukk iPad programmer med Xcode 
    ·Hvordan øke hastigheten på en applet 
    ·Slik konverterer en binær fil til en Byte String i Vis…
    ·How to Program i MIPS 
    ·Hvordan skrive en STL iterator 
    ·Hva er en GUI Application 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/