From 4a8846390bc399c7474087f9327e6773a7fa9726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E9=B8=BF?= Date: Sun, 18 Aug 2024 23:47:47 +0800 Subject: [PATCH] Add device set. --- unsuper/conv1_output.png | Bin 2885 -> 2885 bytes unsuper/conv1_weight.png | Bin 191 -> 191 bytes unsuper/conv1_weight_grad.png | Bin 187 -> 187 bytes unsuper/conv2_output.png | Bin 1018 -> 1020 bytes unsuper/conv2_weight.png | Bin 2084 -> 2080 bytes unsuper/conv2_weight_grad.png | Bin 1838 -> 1841 bytes unsuper/fc_output.png | Bin 84 -> 84 bytes unsuper/fc_weight.png | Bin 2466 -> 2464 bytes unsuper/fc_weight_grad.png | Bin 1165 -> 1163 bytes unsuper/minist.py | 24 +++++++++++++----------- 10 files changed, 13 insertions(+), 11 deletions(-) diff --git a/unsuper/conv1_output.png b/unsuper/conv1_output.png index 69eda5fcfc50f243b81c0cc63ca9e677a65a993a..338397c6fb92bb0c4c1ec8fd5ae1502748ef7c01 100644 GIT binary patch literal 2885 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 VE0Lr2LJsSHY=*W*)fu_O{RgyNVmAN) literal 2885 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 RJInnaTO+Sp)|q>y{1@2kXUzZr diff --git a/unsuper/conv1_weight.png b/unsuper/conv1_weight.png index f8e427afb35a2f5b7518e25123a069db14acf89b..76c8669907db678b30d5e8a28940bf5addae7b71 100644 GIT binary patch delta 77 zcmV-T0J8tT0lxu|Hyhl>$h5*h?SEpLmE>McM#ktR3ligk{TYtQa*K0ra7^0_v0swYpZWCWSAx}r)_-6 zz{r3E7#XxQ*Lv!8FfsrEqrLgB2^LA}_6$J4n5&n<$dLDB9RmxjFr8#+wqMC}8GwM1!Pg}}%{7FP0SFiwkN^NYAtVjuj}D6y00000NkvXXu0mjf DexpA$ delta 149 zcmV;G0BZlc0lNW^E`OqJ^88PEjK5jlh%(-(S;4>{Tbow5>%{}c!H zz{r3E7#TdBOJa1(7#V-FpUU5Y>pbQTyT*ael&V8~>$ zl#K*5TQr%PWpT+|AQBuum=knCM^J=yQMNG*ZZ2+$(QI=wW3x^n$e4_-86Cn(NwKuo z(Ng+xM|-`#{_Ibl2Wld08UkKvj$-7bGfPAuQDLmC`huY_6@LSm2wykBy#f>udl*xe zaJX~Yo0Rco3Q6t0fQE8ONu1__ufQ8y1+?4ADL1ID?-qiwAn$Ix?wvQjrMwZC%F<`s zd*Jow0t=2oE z*&}b>?+n@PTp($4l|jF;{dAhqZR6YeBd?u<&7Nsl(Th76>*2&xaRR1wsK4M?+1RLX06q5Nune4*DWc zl#QZe@Vvv}C7>MhOYQYoEzuIkIeJHTr`9|H z(_Zx&(GIQYRK9X*Ol;O3=zttGDm+tpV)||aw|}yvG#6uh_7iB`P#NZL1}ZABL!Br# z2ml8G0ThfS7?+H64-hI zwSRyNSQ%0ks#N&~UUE;pn?W+AEUnV?fedJIQ|p9QZ_sKF*ZF(_jAVtnlAl2aycDB? zJVd9IijT&{bOP4 zWWdkygjj;nK2Cc4oW$b*I#MD+%^(AId!I@*>O@2=Xg?cruIkka0S=l#1_Yb=A4|`_ UF@bUK=l}o!07*qoM6N<$f>`F}&;S4c delta 996 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 B2>1X1 diff --git a/unsuper/conv2_weight_grad.png b/unsuper/conv2_weight_grad.png index 0f791a5b9bd60878dc55d386c9c8df0f05fefd4d..18403846dcd7ad3d2fd81dfd7a7dd15a94c80c08 100644 GIT binary patch delta 1826 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 delta 2456 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 kmuEj`2-I4kKs0>tU)tFVdQ&MBb@0MtJ|!2kdN diff --git a/unsuper/minist.py b/unsuper/minist.py index ae3834c..d3b68ad 100644 --- a/unsuper/minist.py +++ b/unsuper/minist.py @@ -13,8 +13,8 @@ seed = 4321 torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) -# Device configuration device = torch.device("cuda" if torch.cuda.is_available() else "cpu") +device = torch.device("mps") # Hyper-parameters num_epochs = 1 @@ -51,25 +51,25 @@ class ConvNet(nn.Module): return x def printFector(self, x, label): - show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]), "input_image.png") + show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]).cpu(), "input_image.png") x = self.conv1(x) w = self.conv1.weight - show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]), "conv1_weight.png") + show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]).cpu(), "conv1_weight.png") - show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]), "conv1_output.png") + show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]).cpu(), "conv1_output.png") x = self.pool(F.relu(x)) x = self.conv2(x) w = self.conv2.weight - show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]), "conv2_weight.png") + show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]).cpu(), "conv2_weight.png") - show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]), "conv2_output.png") + show.DumpTensorToImage(x.view(-1, x.shape[2], x.shape[3]).cpu(), "conv2_output.png") x = self.pool(F.relu(x)) x = x.view(-1, 8 * 5 * 5) x = self.fc1(x) - show.DumpTensorToImage(self.fc1.weight.view(-1, 10, 10).permute(2, 0, 1), "fc_weight.png") + show.DumpTensorToImage(self.fc1.weight.view(-1, 10, 10).permute(2, 0, 1).cpu(), "fc_weight.png") - show.DumpTensorToImage(x.view(-1), "fc_output.png") + show.DumpTensorToImage(x.view(-1).cpu(), "fc_output.png") criterion = nn.CrossEntropyLoss() loss = criterion(x, label) @@ -77,10 +77,10 @@ class ConvNet(nn.Module): loss.backward() w = self.conv1.weight.grad - show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]), "conv1_weight_grad.png") + show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]).cpu(), "conv1_weight_grad.png") w = self.conv2.weight.grad - show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]), "conv2_weight_grad.png") - show.DumpTensorToImage(self.fc1.weight.grad.view(-1, 10, 10).permute(2, 0, 1), "fc_weight_grad.png") + show.DumpTensorToImage(w.view(-1, w.shape[2], w.shape[3]).cpu(), "conv2_weight_grad.png") + show.DumpTensorToImage(self.fc1.weight.grad.view(-1, 10, 10).permute(2, 0, 1).cpu(), "fc_weight_grad.png") model = ConvNet().to(device) @@ -109,6 +109,8 @@ for epoch in range(num_epochs): print(f"Epoch [{epoch+1}/{num_epochs}], Step [{i+1}/{n_total_steps}], Loss: {loss.item():.4f}") for images, labels in test_loader: + images = images.to(device) + labels = labels.to(device) model.printFector(images, labels) break