diff --git a/.mnist.py-0.term b/.mnist.py-0.term
index ed43cb6..a297d46 100644
--- a/.mnist.py-0.term
+++ b/.mnist.py-0.term
@@ -298,4 +298,72 @@ Iteration: 2900, Loss: 0.059621091932058334, Accuracy: 98.2699966430664%
 Iteration: 2950, Loss: 0.023448023945093155, Accuracy: 98.54000091552734%
 Iteration: 3000, Loss: 0.2632042467594147, Accuracy: 98.77999877929688%
 Saved PyTorch Model State to model.pth
-]0;~/PyTorch[01;34m~/PyTorch[00m$ 
[K]0;~/PyTorch[01;34m~/PyTorch[00m$ 
[K]0;~/PyTorch[01;34m~/PyTorch[00m$ g
\ No newline at end of file
+]0;~/PyTorch[01;34m~/PyTorch[00m$ 
[K]0;~/PyTorch[01;34m~/PyTorch[00m$ 
[K]0;~/PyTorch[01;34m~/PyTorch[00m$ git add -A
+]0;~/PyTorch[01;34m~/PyTorch[00m$ git commit
+hint: Waiting for your editor to close the file... [?1049h[?1h=[1;11r[23m[24m[0m[H[J[?25l[11;1H"~/PyTorch/.git/COMMIT_EDITMSG" 10L, 265C[2;1H[34m# Please enter the commit message for your changes. Lines starting
+# with '#' will be ignored, and an empty message aborts the commit.
+#
+# On branch [0m[35mmain[0m
+[34m# Your branch is up to date with '[0m[35morigin/main[0m[34m'.
+#
+# [0m[35mChanges to be committed:[0m
+[34m#       [0m[32mmodified[0m[34m: [0m[31m  .mnist.py-0.term[0m
+[34m#[0m[11;194H1,0-1[9CAll[1;1H[34h[?25h[?25l[11;184HA[1;1H[11;184H [1;1H[11;1H[1m-- INSERT --[0m[11;13H[K[11;194H1,1[11CAll[1;1H[34h[?25h[?25l[33md[0m[11;196H2[1;2H[34h[?25h[?25l[1;1H[K[11;196H1[1;1H[34h[?25h[?25l[33mA[0m[11;196H2[1;2H[34h[?25h[?25l[33md[0m[11;196H3[1;3H[34h[?25h[?25l[33md[0m[11;196H4[1;4H[34h[?25h[?25l[33m [0m[11;196H5[1;5H[34h[?25h[?25l[33mc[0m[11;196H6[1;6H[34h[?25h[?25l[33mo[0m[11;196H7[1;7H[34h[?25h[?25l[1;6H[K[11;196H6[1;6H[34h[?25h[?25l[1;5H[K[11;196H5[1;5H[34h[?25h[?25l[33m"[0m[11;196H6[1;6H[34h[?25h[11;1H[K[1;5H[?25l[11;184H^[[1;5H[11;184H  [1;6H[11;194H1,5[11CAll[1;5H[34h[?25h[?25l[11;184H"[1;5H[34h[?25h[?25l[11;185Hq[1;5H[34h[?25h[?25l[11;186H:[1;5H[11;184H[K[11;1H:[34h[?25hq!
[?25l[11;1H[K[11;1H[?1l>[34h[?25h[?1049l
[KAborting commit due to empty commit message.
+]0;~/PyTorch[01;34m~/PyTorch[00m$ git commit
+hint: Waiting for your editor to close the file... [?1049h[?1h=[1;11r[23m[24m[0m[H[J[?25l[11;1H"~/PyTorch/.git/COMMIT_EDITMSG" 10L, 265C[2;1H[34m# Please enter the commit message for your changes. Lines starting
+# with '#' will be ignored, and an empty message aborts the commit.
+#
+# On branch [0m[35mmain[0m
+[34m# Your branch is up to date with '[0m[35morigin/main[0m[34m'.
+#
+# [0m[35mChanges to be committed:[0m
+[34m#       [0m[32mmodified[0m[34m: [0m[31m  .mnist.py-0.term[0m
+[34m#[0m[11;194H1,0-1[9CAll[1;1H[34h[?25h[?25l[11;184Hi[1;1H[11;184H [1;1H[11;1H[1m-- INSERT --[0m[11;13H[K[11;194H1,1[11CAll[1;1H[34h[?25h[?25l[33mA[0m[11;196H2[1;2H[34h[?25h[?25l[33md[0m[11;196H3[1;3H[34h[?25h[?25l[33md[0m[11;196H4[1;4H[34h[?25h[?25l[33m [0m[11;196H5[1;5H[34h[?25h[?25l[33mC[0m[11;196H6[1;6H[34h[?25h[?25l[33mo[0m[11;196H7[1;7H[34h[?25h[?25l[33mC[0m[11;196H8[1;8H[34h[?25h[?25l[33ma[0m[11;196H9[1;9H[34h[?25h[?25l[33ml[0m[11;196H10[1;10H[34h[?25h[?25l[33mc[0m[11;197H1[1;11H[34h[?25h[?25l[33m [0m[11;197H2[1;12H[34h[?25h[?25l[33mf[0m[11;197H3[1;13H[34h[?25h[?25l[33mi[0m[11;197H4[1;14H[34h[?25h[?25l[33ml[0m[11;197H5[1;15H[34h[?25h[?25l[33me[0m[11;197H6[1;16H[34h[?25h[?25l[33ms[0m[11;197H7[1;17H[34h[?25h[11;1H[K[1;16H[?25l[11;184H^[[1;16H[11;184H  [1;17H[11;194H1,16[10CAll[1;16H[34h[?25h[?25l[11;184H:[1;16H[11;184H[K[11;1H:[34h[?25hwq
[?25l".git/COMMIT_EDITMSG" 10L, 281C written


+[?1l>[34h[?25h[?1049l
[K[main ada4698] Add CoCalc files
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+]0;~/PyTorch[01;34m~/PyTorch[00m$ git push
+Enumerating objects: 5, done.
+Counting objects:  20% (1/5)
Counting objects:  40% (2/5)
Counting objects:  60% (3/5)
Counting objects:  80% (4/5)
Counting objects: 100% (5/5)
Counting objects: 100% (5/5), done.
+Delta compression using up to 24 threads
+Compressing objects:  33% (1/3)
Compressing objects:  66% (2/3)
Compressing objects: 100% (3/3)
Compressing objects: 100% (3/3), done.
+Writing objects:  33% (1/3)
Writing objects:  66% (2/3)
Writing objects: 100% (3/3)
Writing objects: 100% (3/3), 299 bytes | 299.00 KiB/s, done.
+Total 3 (delta 2), reused 0 (delta 0)
+remote: Resolving deltas:   0% (0/2)[K
remote: Resolving deltas:  50% (1/2)[K
remote: Resolving deltas: 100% (2/2)[K
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.[K
+To github.com:Ta180m/PyTorch.git
+   965db73..ada4698  main -> main
+]0;~/PyTorch[01;34m~/PyTorch[00m$ ]0;~/PyTorch[01;34m~/PyTorch[00m$ 
[K]0;~/PyTorch[01;34m~/PyTorch[00m$ ./n[Kmnist.py 
+/projects/800fec81-81db-4589-8df3-d839b1d21871/.local/lib/python3.8/site-packages/torchvision/datasets/mnist.py:498: UserWarning: The given NumPy array is not writeable, and PyTorch does not support non-writeable tensors. This means you can write to the underlying (supposedly non-writeable) NumPy array using the tensor. You may want to copy the array to protect its data or make it writeable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at  /pytorch/torch/csrc/utils/tensor_numpy.cpp:180.)
+  return torch.from_numpy(parsed.astype(m[2], copy=False)).view(*s)
+/projects/800fec81-81db-4589-8df3-d839b1d21871/.local/lib/python3.8/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at  /pytorch/c10/core/TensorImpl.h:1156.)
+  return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
+Iteration: 50, Loss: 0.33904707431793213, Accuracy: 91.33999633789062%
+Iteration: 100, Loss: 0.11570730060338974, Accuracy: 92.58000183105469%
+Iteration: 150, Loss: 0.08451800048351288, Accuracy: 96.02999877929688%
+Iteration: 200, Loss: 0.08893018960952759, Accuracy: 96.6500015258789%
+Iteration: 250, Loss: 0.1327921748161316, Accuracy: 96.98999786376953%
+Iteration: 300, Loss: 0.0620574913918972, Accuracy: 97.16999816894531%
+Iteration: 350, Loss: 0.09436647593975067, Accuracy: 97.05999755859375%
+Iteration: 400, Loss: 0.25261232256889343, Accuracy: 94.94000244140625%
+Iteration: 450, Loss: 0.11671247333288193, Accuracy: 97.69000244140625%
+Iteration: 500, Loss: 0.1204160675406456, Accuracy: 96.45999908447266%
+Iteration: 550, Loss: 0.05714935436844826, Accuracy: 98.19999694824219%
+Iteration: 600, Loss: 0.25882184505462646, Accuracy: 98.05999755859375%
+Iteration: 650, Loss: 0.15288296341896057, Accuracy: 98.51000213623047%
+Iteration: 700, Loss: 0.030312277376651764, Accuracy: 96.8499984741211%
+Iteration: 750, Loss: 0.026591232046484947, Accuracy: 98.12000274658203%
+Iteration: 800, Loss: 0.0336340069770813, Accuracy: 98.01000213623047%
+Iteration: 850, Loss: 0.10625416785478592, Accuracy: 97.16000366210938%
+Iteration: 900, Loss: 0.11373892426490784, Accuracy: 98.0199966430664%
+Iteration: 950, Loss: 0.12648221850395203, Accuracy: 97.26000213623047%
+Iteration: 1000, Loss: 0.19489459693431854, Accuracy: 97.1500015258789%
+Iteration: 1050, Loss: 0.04832194745540619, Accuracy: 97.83000183105469%
+^CTraceback (most recent call last):
+  File "./mnist.py", line 89, in <module>
+    loss.backward()
+  File "/projects/800fec81-81db-4589-8df3-d839b1d21871/.local/lib/python3.8/site-packages/torch/_tensor.py", line 255, in backward
+    torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
+  File "/projects/800fec81-81db-4589-8df3-d839b1d21871/.local/lib/python3.8/site-packages/torch/autograd/__init__.py", line 147, in backward
+    Variable._execution_engine.run_backward(
+KeyboardInterrupt
+
+]0;~/PyTorch[01;34m~/PyTorch[00m$ g
\ No newline at end of file
diff --git a/mnist.py b/mnist.py
index ea99633..95ca6ad 100755
--- a/mnist.py
+++ b/mnist.py
@@ -61,7 +61,11 @@ class CNN(nn.Module):
         return out
 
 
+
+device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
+
 model = CNN()
+model.to(device)
 error = nn.CrossEntropyLoss()
 learning_rate = 0.001
 optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
@@ -79,6 +83,8 @@ labels_list = []
 
 for epoch in range(num_epochs):
     for images, labels in train_loader:
+        images, labels = images.to(device), labels.to(device)
+
         train = Variable(images.view(batch_size, 1, 28, 28))
         labels = Variable(labels)
 
@@ -95,12 +101,14 @@ for epoch in range(num_epochs):
             total = 0
             correct = 0
             for images, labels in test_loader:
+                images, labels = images.to(device), labels.to(device)
+
                 labels_list.append(labels)
             
                 test = Variable(images.view(batch_size, 1, 28, 28))
                 outputs = model(test)
             
-                predictions = torch.max(outputs, 1)[1]
+                predictions = torch.max(outputs, 1)[1].to(device)
                 predictions_list.append(predictions)
                 correct += (predictions == labels).sum()
             
