tek4

Cách Gỡ Lỗi Mã Nguồn PyTorch

by - September. 21, 2021
Kiến thức
Machine Learning
Python
<p><em>Ch&agrave;o mừng c&aacute;c bạn đến với b&agrave;i viết thứ 20 trong loạt b&agrave;i về&nbsp;<strong><a href="https://tek4.vn/lap-trinh-neural-network-voi-pytorch-deep-learning-voi-pytorch/" target="_blank" rel="noopener">Lập Tr&igrave;nh Neural Network Với Pytorch</a>.&nbsp;</strong>Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ xem c&aacute;ch c&oacute; thể gỡ lỗi (debug) source code PyTorch bằng Visual Studio Code IDE. Bắt đầu th&ocirc;i!</em></p> <p>Bước đầu ti&ecirc;n, tất nhi&ecirc;n l&agrave; c&agrave;i đặt <a href="https://code.visualstudio.com/" target="_blank" rel="noopener">Visual Studio Code</a> tr&ecirc;n hệ thống của bạn.&nbsp;Sau khi ho&agrave;n tất, ch&uacute;ng ta đ&atilde; sẵn s&agrave;ng để bắt đầu.</p> <p><img style="width: 100%;" src="http://tek4vn.2soft.top/public_files/cach-go-loi-ma-nguon-pytorch-png-1" alt="C&aacute;ch Gỡ Lỗi M&atilde; Nguồn PyTorch" /></p> <h4 class="sub-section-heading">Một chương tr&igrave;nh để thực h&agrave;nh gỡ lỗi</h4> <p>Để gỡ lỗi, ch&uacute;ng ta cần một chương tr&igrave;nh c&oacute; thể sử dụng để khởi động mọi thứ.&nbsp;Ch&uacute;ng ta sẽ tạo một chương tr&igrave;nh mẫu như dưới đ&acirc;y m&agrave; c&oacute; thể sử dụng để gỡ lỗi một số m&atilde; nguồn PyTorch.&nbsp;Ch&uacute;ng ta sẽ gỡ lỗi tập dữ liệu Fashion MNIST nằm trong g&oacute;i torchvision:</p> <pre class="language-python"><code>import torch import torchvision import torchvision.transforms as transforms train_set = torchvision.datasets.FashionMNIST( root='./data' ,train=True ,download=True ,transform=transforms.Compose([ transforms.ToTensor() ]) ) image, label = train_set[0] print(image.shape)</code></pre> <h4 class="sub-section-heading">C&aacute;ch gỡ lỗi</h4> <p>Để gỡ lỗi bất kỳ code python n&agrave;o trong Visual Studio Code, ch&uacute;ng ta cần c&agrave;i đặt tiện &iacute;ch mở rộng gỡ lỗi python (debugging extension).&nbsp;Điều n&agrave;y sẽ cung cấp cho ch&uacute;ng ta khả năng gỡ lỗi.&nbsp;Sau khi tiện &iacute;ch mở rộng gỡ lỗi được c&agrave;i đặt, ch&uacute;ng ta l&agrave;m theo c&aacute;c bước sau:</p> <ol> <li>Đặt breakpoint</li> <li>Chạy chương tr&igrave;nh ở chế độ gỡ lỗi (debug mode&nbsp;)</li> <li>Sử dụng b&agrave;n ph&iacute;m để điều khiển việc thực thi chương tr&igrave;nh theo c&aacute;ch thủ c&ocirc;ng</li> <li>Step into something PyTorch</li> </ol> <p>Lưu &yacute; rằng c&oacute; một y&ecirc;u cầu bổ sung để gỡ lỗi c&aacute;c thư viện đ&atilde; import như PyTorch.&nbsp;Ch&uacute;ng ta cần đặt thuộc t&iacute;nh <em>justMyCode</em> th&agrave;nh <em>false</em> b&ecirc;n trong tệp khởi chạy <em>launch.json</em> cho VS Code.</p> <p>Dưới đ&acirc;y l&agrave; một cấu h&igrave;nh khởi chạy v&iacute; dụ:</p> <p><img style="width: 597px; display: block; margin-left: auto; margin-right: auto;" src="http://tek4vn.2soft.top/public_files/21-png" alt="21" height="254" /></p> <p>Gỡ lỗi code&nbsp;l&agrave; một trong những c&aacute;ch tốt nhất để hiểu những g&igrave; đang xảy ra.&nbsp;Lưu &yacute; rằng ch&uacute;ng ta kh&ocirc;ng phải viết nhiều code để thiết lập gỡ lỗi PyTorch.&nbsp;Trong v&iacute; dụ của ch&uacute;ng ta, n&oacute; chỉ l&agrave; 15 hoặc 16 d&ograve;ng code m&agrave; th&ocirc;i.</p> <p>Để gỡ lỗi m&atilde; nguồn PyTorch, ch&uacute;ng ta chỉ cần một path đến code PyTorch m&agrave; ch&uacute;ng ta muốn gỡ lỗi.</p> <p>&nbsp;</p> <hr /> <p style="text-align: center;"><em><strong>Fanpage Facebook:</strong>&nbsp;<a href="https://www.facebook.com/tek4.vn/">TEK4.VN</a></em>&nbsp;</p> <p style="text-align: center;"><em><strong>Tham gia cộng đồng để chia sẻ, trao đổi v&agrave; thảo luận:</strong>&nbsp;<a href="https://www.facebook.com/groups/tek4.vn/">TEK4.VN - Học Lập Tr&igrave;nh Miễn Ph&iacute;</a></em></p>