Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> python Programming >> Content
Hoe PyTorch in Python te gebruiken [Volledige zelfstudie]
## Aan de slag met PyTorch

Stap 1:Omgeving instellen

* Installeer Python en creëer een virtuele omgeving

- Python 3.6 of hoger wordt aanbevolen.

- Creëer een virtuele omgeving met `python -m venv venv` (of `virtualenv venv` voor oudere Python-versies) en activeer deze met `source venv/bin/activate` op Linux/macOS of `venv\Scripts\activate` op Windows .

* PyTorch installeren

- Gebruik `pip` om PyTorch te installeren:`pip install torch torchvision`.

- Voor GPU-ondersteuning installeert u `torch` met de optie `-c pytorch`.

Stap 2:Eenvoudig voorbeeld - Een tensor maken

```python

fakkel importeren

Maak een tensor uit een lijst

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

Print de tensor

afdrukken(tensor)

Print de vorm van de tensor

print(tensorvorm)

Print het type van de tensor

print(tensor.dtype)

```

Uitgang:

```

tensor([1, 2, 3])

fakkel. Grootte ([3])

fakkel.int64

```

Stap 3:Basis wiskundige bewerkingen

```python

Elementgewijze optelling

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

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

resultaat =tensor + tensor2

afdrukken(resultaat)

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

Matrixvermenigvuldiging

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

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

resultaat =fakkel.mm(matrix1, matrix2)

afdrukken(resultaat)

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

```

Stap 4:GPU gebruiken voor snellere berekeningen

```python

Controleer of CUDA beschikbaar is

als fakkel.cuda.is_available():

# Verplaats de tensoren naar GPU

apparaat =fakkel.apparaat("cuda")

tensor =tensor.to(apparaat)

tensor2 =tensor2.to(apparaat)

# Voer bewerkingen uit op GPU

resultaat =tensor + tensor2

# Verplaats het resultaat indien nodig terug naar de CPU

resultaat =resultaat.to("cpu")

afdrukken(resultaat)

```

Werken met gegevens

Stap 1:Gegevensset

PyTorch biedt een handige manier om met datasets te werken met behulp van de `Dataset`-klasse. Hier is een voorbeeld:

```python

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

def __init__(zelf, gegevens, labels):

zelf.data =gegevens

self.labels =labels

def __getitem__(zelf, index):

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

def __len__(zelf):

retourneer len(self.data)

Maak een instantie van de dataset

dataset =MijnDataset(gegevens, labels)

```

Stap 2:DataLoader

Gebruik `DataLoader` om tijdens de training gegevens efficiënt in batches te laden.

```python

Definieer de batchgrootte

batch_grootte =32

Maak een gegevenslader

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

Doorloop de batches

voor batch in data_loader:

# Hier zou batch een tupel van `(data, labels)` zijn

```

Een neuraal netwerk opbouwen

Stap 1:Initialiseer uw netwerk

```python

importeer fakkel.nn als nn

Definieer een eenvoudig neuraal netwerk met 3 lagen

klasse MijnNeuralNetwerk(nn.Module):

def __init__(zelf):

super(MijnNeuralNetwerk, zelf).__init__()

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

self.layer2 =nn.Linear(256, 128) # Verborgen laag

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

zeker vooruit(zelf, x):

x =x.view(x.shape[0], -1) # Maak de invoer plat

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

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

x =F.log_softmax(self.layer3(x)) # Uitvoerlaag met softmax

retour x

Initialiseer het netwerk

netwerk =MijnNeuralNetwerk()

```

Stap 2:Definieer de verliesfunctie en optimalisatie

```python

importeer torch.optim als optim

Definieer de verliesfunctie (hier gebruiken we cross-entropieverlies)

loss_fn =nn.CrossEntropyLoss()

Definieer de optimalisatie (hier gebruiken we stochastische gradiëntafdaling)

optimizer =optim.SGD(netwerk.parameters(), lr=0,001)

```

Stap 3:Train het netwerk

```python

Train het netwerk gedurende 10 tijdperken

voor tijdperk binnen bereik(10):

voor batch in data_loader:

# Ontvang invoer en labels

ingangen, labels =batch

# Duidelijke verlopen

optimizer.zero_grad()

# Voorwaartse pass

uitgangen =netwerk(ingangen)

# Bereken verlies

verlies =loss_fn(uitgangen, labels)

# Achterwaarts doorgeven en gewichten bijwerken

verlies.achteruit()

optimizer.step()

print(f"Epoche {epoch + 1}:Verlies:{loss.item()}")

```

Stap 4:Evalueer het netwerk

```python

Evalueer de netwerknauwkeurigheid van de testdataset

met fakkel.no_grad():

juist =0

totaal =0

voor batch in test_data_loader:

ingangen, labels =batch

# Voorwaartse pas

uitgangen =netwerk(ingangen)

# Ontvang voorspellingen

_, voorspeld =fakkel.max(outputs.data, 1)

# Update nauwkeurigheidtelling

totaal +=labels.size(0)

correct +=(voorspelde ==labels).sum().item()

# Bereken nauwkeurigheid

nauwkeurigheid =correct / totaal

print(f"Nauwkeurigheid van testgegevens:{nauwkeurigheid * 100}%")

```

Previous: Next:
  python Programming
·Hoe om Alfabetische volgorde b…
·Hoe maak je een woordenboek in…
·Hoe maak je een functie in Pyt…
·Hoe aan een andere Process in …
·Hoe maak je een commando invoe…
·Hoe om te doen Python String W…
·Hoe maak je een Wens Game Make…
·Hoe maak je een Python script …
·Hoe om te achterhalen welke ve…
  Related Articles
Python 3 installeren op Ubuntu 20.04 {St…
Hoe JavaScript uit te schakelen in DuckD…
Hoe u alle Python-versies kunt controler…
Hoe om te gaan met Java-huiswerk 
Hoe u de Java-fout kunt oplossen 
Python installeren in VS-code 
Hoe u de Python-interpreter in VS-code k…
JavaScript inschakelen op de Amazon Fire…
Hoe JavaScript in Chrome uit te schakele…
  Programmering Articles
·Hoe te RGB's Extract in VB6 
·Site Error : De File Vereist de ionCube …
·Hoe het opzetten van een webpagina op ee…
·Hoe te Dynamic Memory Allocation Perform…
·Hoe om programma's schrijven met VBA 
·Wat is Python 2.6 & PyWin ? 
·Hoe te wijzigen een PictureBox Afbeeldin…
·Het instellen van het gewicht van een Su…
·Hoe te Enum gebruiken in C Program 
Copyright © Computer Kennis https://www.nldit.com