Βήμα 1:Ρύθμιση περιβάλλοντος
* Εγκαταστήστε την Python και δημιουργήστε ένα εικονικό περιβάλλον
- Συνιστάται Python 3.6 ή νεότερη έκδοση.
- Δημιουργήστε ένα εικονικό περιβάλλον χρησιμοποιώντας «python -m venv venv» (ή «virtualenv venv» για παλαιότερες εκδόσεις Python) και ενεργοποιήστε το με «source venv/bin/activate» σε Linux/macOS ή «venv\Scripts\activate» στα Windows .
* Εγκαταστήστε το PyTorch
- Χρησιμοποιήστε το "pip" για να εγκαταστήσετε το PyTorch:"pip install torch torchvision".
- Για υποστήριξη GPU, εγκαταστήστε το "torch" με την επιλογή "-c pytorch".
Βήμα 2:Απλό παράδειγμα - Δημιουργία τανυστή
```python
φακός εισαγωγής
tensor =torch.tensor([1, 2, 3])
εκτύπωση (τανυστής)
εκτύπωση (tensor.shape)
print(tensor.dtype)
```
Παραγωγή:
```
τανυστής ([1, 2, 3])
φακός.Μέγεθος([3])
πυρσός.int64
```
Βήμα 3:Βασικές μαθηματικές πράξεις
```python
tensor =torch.tensor([1, 2, 3])
tensor2 =torch.tensor([4, 5, 6])
αποτέλεσμα =τανυστής + τανυστής2
εκτύπωση (αποτέλεσμα)
matrix1 =torch.tensor([[1, 2], [3, 4]])
matrix2 =torch.tensor([[5, 6], [7, 8]])
αποτέλεσμα =torch.mm(matrix1, matrix2)
εκτύπωση (αποτέλεσμα)
```
Βήμα 4:Χρήση GPU για ταχύτερους υπολογισμούς
```python
if torch.cuda.is_available():
# Μετακινήστε τους τανυστές στη GPU
συσκευή =torch.device("cuda")
tensor =tensor.to(συσκευή)
tensor2 =tensor2.to(συσκευή)
# Εκτελέστε λειτουργίες σε GPU
αποτέλεσμα =τανυστής + τανυστής2
# Μετακινήστε το αποτέλεσμα πίσω στην CPU εάν χρειάζεται
result =result.to("cpu")
εκτύπωση (αποτέλεσμα)
```
Βήμα 1:Σύνολο δεδομένων
Το PyTorch παρέχει έναν βολικό τρόπο εργασίας με σύνολα δεδομένων χρησιμοποιώντας την κλάση «Σύνολο δεδομένων». Εδώ είναι ένα παράδειγμα:
```python
κλάση MyDataset(torch.utils.data.Dataset):
def __init__(self, data, labels):
self.data =δεδομένα
αυτο.ετικέτες =ετικέτες
def __getitem__(self, index):
επιστροφή self.data[index], self.labels[index]
def __len__(self):
επιστροφής φακός (self.data)
σύνολο δεδομένων =MyDataset (δεδομένα, ετικέτες)
```
Βήμα 2:DataLoader
Χρησιμοποιήστε το «DataLoader» για αποτελεσματική φόρτωση δεδομένων σε παρτίδες κατά τη διάρκεια της εκπαίδευσης.
```python
batch_size =32
data_loader =torch.utils.data.DataLoader(σύνολο δεδομένων, batch_size=batch_size)
για παρτίδα στο data_loader:
# Εδώ, η παρτίδα θα είναι μια πλειάδα από «(δεδομένα, ετικέτες)».
```
Βήμα 1:Αρχικοποιήστε το δίκτυό σας
```python
εισαγωγή φακός.nn ως nn
κλάση MyNeuralNetwork(nn.Module):
def __init__(self):
super(MyNeuralNetwork, self).__init__()
self.layer1 =nn.Linear(784, 256) # Επίπεδο εισόδου
self.layer2 =nn.Linear(256, 128) # Hidden layer
self.layer3 =nn.Linear(128, 10) # Επίπεδο εξόδου
def forward(self, x):
x =x.view(x.shape[0], -1) # Ισοπεδώστε την είσοδο
x =F.relu(self.layer1(x)) # Συνάρτηση ενεργοποίησης (ReLU)
x =F.relu(self.layer2(x)) # Συνάρτηση ενεργοποίησης (ReLU)
x =F.log_softmax(self.layer3(x)) # Επίπεδο εξόδου με softmax
επιστροφή x
δίκτυο =MyNeuralNetwork()
```
Βήμα 2:Ορισμός λειτουργίας απώλειας και βελτιστοποίησης
```python
εισαγωγή φακός.optim ως optim
loss_fn =nn.CrossEntropyLoss()
optimizer =optim.SGD(network.parameters(), lr=0,001)
```
Βήμα 3:Εκπαιδεύστε το Δίκτυο
```python
για την εποχή στο εύρος (10):
για παρτίδα στο data_loader:
# Λάβετε εισόδους και ετικέτες
εισροές, ετικέτες =παρτίδα
# Καθαρίστε τις κλίσεις
optimizer.zero_grad()
# Πάσα προς τα εμπρός
έξοδοι =δίκτυο(εισόδους)
# Υπολογίστε την απώλεια
απώλεια =loss_fn (εξόδους, ετικέτες)
# Πάσο προς τα πίσω και ενημέρωση βαρών
loss.backward()
optimizer.step()
print(f"Epoch {epoch + 1}:Loss:{loss.item()}")
```
Βήμα 4:Αξιολογήστε το Δίκτυο
```python
με torch.no_grad():
σωστό =0
σύνολο =0
για παρτίδα στο test_data_loader:
εισροές, ετικέτες =παρτίδα
# Πάσα προς τα εμπρός
έξοδοι =δίκτυο(εισόδους)
# Λάβετε προβλέψεις
_, προβλεπόμενο =torch.max(outputs.data, 1)
# Αριθμός ακρίβειας ενημέρωσης
total +=labels.size(0)
σωστό +=(προβλεπόμενο ==ετικέτες).sum().item()
# Υπολογίστε την ακρίβεια
ακρίβεια =σωστό / σύνολο
print(f"Ακρίβεια στα δεδομένα δοκιμής:{accuracy * 100}%")
```
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα