Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Krok 1:Nastavenie prostredia
* Nainštalujte Python a vytvorte virtuálne prostredie
- Odporúča sa Python 3.6 alebo vyšší.
- Vytvorte virtuálne prostredie pomocou `python -m venv venv` (alebo `virtualenv venv` pre staršie verzie Pythonu) a aktivujte ho pomocou `source venv/bin/activate` v systéme Linux/macOS alebo `venv\Scripts\activate` v systéme Windows .
* Nainštalujte PyTorch
- Na inštaláciu PyTorch použite `pip`:`pip install torch torchvision`.
- Pre podporu GPU nainštalujte `torch` s voľbou `-c pytorch`.
Krok 2:Jednoduchý príklad – Vytvorenie tenzora
```pytón
dovozová baterka
tenzor =pochodeň.tensor([1, 2, 3])
tlač (tensor)
print(tensor.shape)
print(tensor.dtype)
```
výstup:
```
tenzor([1, 2, 3])
baterka.Veľkosť([3])
pochodeň.int64
```
Krok 3:Základné matematické operácie
```pytón
tenzor =pochodeň.tensor([1, 2, 3])
tenzor2 =pochodeň.tensor([4, 5, 6])
výsledok =tenzor + tenzor2
vytlačiť (výsledok)
matrix1 =pochodeň.tensor([[1, 2], [3, 4]])
matrix2 =pochodeň.tensor([[5, 6], [7, 8]])
výsledok =pochodeň.mm(matica1, matica2)
vytlačiť (výsledok)
```
Krok 4:Použitie GPU na rýchlejší výpočet
```pytón
if torch.cuda.is_available():
# Presuňte tenzory na GPU
zariadenie =torch.device("cuda")
tenzor =tenzor.k (zariadeniu)
tensor2 =tensor2.to(zariadenie)
# Vykonávať operácie na GPU
výsledok =tenzor + tenzor2
# V prípade potreby presuňte výsledok späť do CPU
vysledok =vysledok.to("cpu")
vytlačiť (výsledok)
```
Krok 1:Množina údajov
PyTorch poskytuje pohodlný spôsob práce so súbormi údajov pomocou svojej triedy `Dataset`. Tu je príklad:
```pytón
trieda MyDataset(torch.utils.data.Dataset):
def __init__(vlastné, údaje, štítky):
self.data =dáta
self.labels =štítky
def __getitem__(vlastné, index):
return self.data[index], self.labels[index]
def __len__(self):
return len(self.data)
dataset =MyDataset(data, labels)
```
Krok 2:DataLoader
Použite `DataLoader` na efektívne načítanie dát v dávkach počas tréningu.
```pytón
veľkosť_dávky =32
data_loader =torch.utils.data.DataLoader(množina údajov, veľkosť_dávky=veľkosť_dávky)
pre dávku v data_loader:
# Tu by dávka bola n-ticou `(údaje, štítky)`
```
Krok 1:Inicializujte sieť
```pytón
importovať pochodeň.nn ako nn
trieda MyNeuralNetwork(nn.Modul):
def __init__(self):
super(MyNeuralNetwork, self).__init__()
self.layer1 =nn.Linear(784, 256) # Vstupná vrstva
self.layer2 =nn.Linear(256, 128) # Skrytá vrstva
self.layer3 =nn.Linear(128, 10) # Výstupná vrstva
def forward(self, x):
x =x.view(x.shape[0], -1) # Vyrovnať vstup
x =F.relu(self.layer1(x)) # Aktivačná funkcia (ReLU)
x =F.relu(self.layer2(x)) # Aktivačná funkcia (ReLU)
x =F.log_softmax(self.layer3(x)) # Výstupná vrstva so softmax
vrátiť x
sieť =MyNeuralNetwork()
```
Krok 2:Definujte stratovú funkciu a optimalizátor
```pytón
importovať baterku.optim ako optim
strata_fn =nn.CrossEntropyLoss()
optimalizátor =optim.SGD(network.parameters(), lr=0,001)
```
Krok 3:Trénujte sieť
```pytón
pre epochu v rozsahu (10):
pre dávku v data_loader:
# Získajte vstupy a štítky
vstupy, štítky =dávka
# Jasné prechody
optimalizátor.zero_grad()
# Prihrávka dopredu
výstupy =sieť (vstupy)
# Výpočet straty
strata =strata_fn(výstupy, štítky)
# Spätný prechod a aktualizácia hmotnosti
strata.dozadu()
optimalizátor.krok()
print(f"Epocha {epocha + 1}:Strata:{loss.item()}")
```
Krok 4:Vyhodnoťte sieť
```pytón
s torch.no_grad():
správne =0
celkom =0
pre dávku v test_data_loader:
vstupy, štítky =dávka
# Prihrávka dopredu
výstupy =sieť (vstupy)
# Získajte predpovede
_, predpokladané =pochodeň.max(výstupy.údaje, 1)
# Aktualizujte počet presnosti
celkove +=labels.size(0)
správne +=(predpokladané ==štítky).sum().item()
# Vypočítajte presnosť
presnosť =správna / celková
print(f"Presnosť testovacích údajov:{presnosť * 100}%")
```