Skip to content

Commit 29b77a3

Browse files
authored
Add files via upload
1 parent 9c7e653 commit 29b77a3

4 files changed

+5666
-1
lines changed

Pytorch/(Pytorch) Sentiment Analysis with Transformer BERT.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"# Twitter Sentiment BERT Classification"
7+
"# Google-play App Review Sentiment Analysis with BERT "
88
]
99
},
1010
{
Lines changed: 307 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,307 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {},
6+
"source": [
7+
"# VISUALIZING MODELS, DATA, AND TRAINING WITH TENSORBOARD"
8+
]
9+
},
10+
{
11+
"cell_type": "markdown",
12+
"metadata": {},
13+
"source": [
14+
"# From \n",
15+
"# https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html"
16+
]
17+
},
18+
{
19+
"cell_type": "markdown",
20+
"metadata": {},
21+
"source": [
22+
"### Steps in Tensorboard \n",
23+
"### 1. Set up TensorBoard.\n",
24+
"### 2. Write to TensorBoard.\n",
25+
"### 3. Inspect a model architecture using TensorBoard.\n",
26+
"### 4. Use TensorBoard to create interactive versions of the visualizations we created in last tutorial, with less code"
27+
]
28+
},
29+
{
30+
"cell_type": "markdown",
31+
"metadata": {},
32+
"source": [
33+
"## Use Boilerplate code as in the CIFAR-10:"
34+
]
35+
},
36+
{
37+
"cell_type": "code",
38+
"execution_count": 1,
39+
"metadata": {},
40+
"outputs": [],
41+
"source": [
42+
"# imports\n",
43+
"import matplotlib.pyplot as plt\n",
44+
"import numpy as np\n",
45+
"\n",
46+
"import torch\n",
47+
"import torchvision\n",
48+
"import torchvision.transforms as transforms\n",
49+
"\n",
50+
"import torch.nn as nn\n",
51+
"import torch.nn.functional as F\n",
52+
"import torch.optim as optim\n",
53+
"\n",
54+
"# transforms\n",
55+
"transform = transforms.Compose(\n",
56+
" [transforms.ToTensor(),\n",
57+
" transforms.Normalize((0.5,), (0.5,))])\n",
58+
"\n",
59+
"# datasets\n",
60+
"trainset = torchvision.datasets.FashionMNIST('./data',\n",
61+
" download=True,\n",
62+
" train=True,\n",
63+
" transform=transform)\n",
64+
"testset = torchvision.datasets.FashionMNIST('./data',\n",
65+
" download=True,\n",
66+
" train=False,\n",
67+
" transform=transform)\n",
68+
"\n",
69+
"# dataloaders\n",
70+
"trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,\n",
71+
" shuffle=True, num_workers=2)\n",
72+
"\n",
73+
"\n",
74+
"testloader = torch.utils.data.DataLoader(testset, batch_size=4,\n",
75+
" shuffle=False, num_workers=2)\n",
76+
"\n",
77+
"# constant for classes\n",
78+
"classes = ('T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',\n",
79+
" 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle Boot')\n",
80+
"\n",
81+
"# helper function to show an image\n",
82+
"# (used in the `plot_classes_preds` function below)\n",
83+
"def matplotlib_imshow(img, one_channel=False):\n",
84+
" if one_channel:\n",
85+
" img = img.mean(dim=0)\n",
86+
" img = img / 2 + 0.5 # unnormalize\n",
87+
" npimg = img.numpy()\n",
88+
" if one_channel:\n",
89+
" plt.imshow(npimg, cmap=\"Greys\")\n",
90+
" else:\n",
91+
" plt.imshow(np.transpose(npimg, (1, 2, 0)))"
92+
]
93+
},
94+
{
95+
"cell_type": "markdown",
96+
"metadata": {},
97+
"source": [
98+
"# Model \n",
99+
"# Minor modifications (images are now one channel instead of three, and 28x28 instead of 32x32:)"
100+
]
101+
},
102+
{
103+
"cell_type": "code",
104+
"execution_count": 2,
105+
"metadata": {},
106+
"outputs": [],
107+
"source": [
108+
"class Net(nn.Module):\n",
109+
" def __init__(self):\n",
110+
" super(Net, self).__init__()\n",
111+
" self.conv1 = nn.Conv2d(1, 6, 5)\n",
112+
" self.pool = nn.MaxPool2d(2, 2)\n",
113+
" self.conv2 = nn.Conv2d(6, 16, 5)\n",
114+
" self.fc1 = nn.Linear(16 * 4 * 4, 120)\n",
115+
" self.fc2 = nn.Linear(120, 84)\n",
116+
" self.fc3 = nn.Linear(84, 10)\n",
117+
"\n",
118+
" def forward(self, x):\n",
119+
" x = self.pool(F.relu(self.conv1(x)))\n",
120+
" x = self.pool(F.relu(self.conv2(x)))\n",
121+
" x = x.view(-1, 16 * 4 * 4)\n",
122+
" x = F.relu(self.fc1(x))\n",
123+
" x = F.relu(self.fc2(x))\n",
124+
" x = self.fc3(x)\n",
125+
" return x\n",
126+
"\n",
127+
"\n",
128+
"net = Net()"
129+
]
130+
},
131+
{
132+
"cell_type": "code",
133+
"execution_count": 3,
134+
"metadata": {},
135+
"outputs": [],
136+
"source": [
137+
"# Set up criterion and optimizer\n",
138+
"criterion = nn.CrossEntropyLoss()\n",
139+
"optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)"
140+
]
141+
},
142+
{
143+
"cell_type": "markdown",
144+
"metadata": {},
145+
"source": [
146+
"## 1. Set up TensorBoard"
147+
]
148+
},
149+
{
150+
"cell_type": "code",
151+
"execution_count": 4,
152+
"metadata": {},
153+
"outputs": [],
154+
"source": [
155+
"from torch.utils.tensorboard import SummaryWriter\n",
156+
"\n",
157+
"# default `log_dir` is \"runs\" - we'll be more specific here\n",
158+
"# it creates a runs/fashion_mnist_experiment_1 folder.\n",
159+
"writer = SummaryWriter('runs/fashion_mnist_experiment_1')"
160+
]
161+
},
162+
{
163+
"cell_type": "markdown",
164+
"metadata": {},
165+
"source": [
166+
"## 2. Writing to TensorBoard"
167+
]
168+
},
169+
{
170+
"cell_type": "code",
171+
"execution_count": 5,
172+
"metadata": {},
173+
"outputs": [
174+
{
175+
"data": {
176+
"image/png": "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\n",
177+
"text/plain": [
178+
"<Figure size 432x288 with 1 Axes>"
179+
]
180+
},
181+
"metadata": {
182+
"needs_background": "light"
183+
},
184+
"output_type": "display_data"
185+
}
186+
],
187+
"source": [
188+
"# get some random training images\n",
189+
"dataiter = iter(trainloader)\n",
190+
"images, labels = dataiter.next()\n",
191+
"\n",
192+
"# create grid of images\n",
193+
"img_grid = torchvision.utils.make_grid(images)\n",
194+
"\n",
195+
"# show images\n",
196+
"matplotlib_imshow(img_grid, one_channel=True)\n",
197+
"\n",
198+
"# write to tensorboard\n",
199+
"writer.add_image('four_fashion_mnist_images', img_grid)"
200+
]
201+
},
202+
{
203+
"cell_type": "code",
204+
"execution_count": 6,
205+
"metadata": {},
206+
"outputs": [],
207+
"source": [
208+
"%load_ext tensorboard"
209+
]
210+
},
211+
{
212+
"cell_type": "code",
213+
"execution_count": 9,
214+
"metadata": {},
215+
"outputs": [
216+
{
217+
"data": {
218+
"text/plain": [
219+
"Reusing TensorBoard on port 6006 (pid 7256), started 0:01:11 ago. (Use '!kill 7256' to kill it.)"
220+
]
221+
},
222+
"metadata": {},
223+
"output_type": "display_data"
224+
},
225+
{
226+
"data": {
227+
"text/html": [
228+
"\n",
229+
" <iframe id=\"tensorboard-frame-ee9465fe0576b007\" width=\"100%\" height=\"800\" frameborder=\"0\">\n",
230+
" </iframe>\n",
231+
" <script>\n",
232+
" (function() {\n",
233+
" const frame = document.getElementById(\"tensorboard-frame-ee9465fe0576b007\");\n",
234+
" const url = new URL(\"/\", window.location);\n",
235+
" url.port = 6006;\n",
236+
" frame.src = url;\n",
237+
" })();\n",
238+
" </script>\n",
239+
" "
240+
],
241+
"text/plain": [
242+
"<IPython.core.display.HTML object>"
243+
]
244+
},
245+
"metadata": {},
246+
"output_type": "display_data"
247+
}
248+
],
249+
"source": [
250+
"%tensorboard --logdir runs"
251+
]
252+
},
253+
{
254+
"cell_type": "markdown",
255+
"metadata": {},
256+
"source": [
257+
"## run tensorboard --logdir=runs\n",
258+
"## Then go to https://localhost:6006"
259+
]
260+
},
261+
{
262+
"cell_type": "markdown",
263+
"metadata": {},
264+
"source": [
265+
"## 3. Inspect the model using TensorBoard"
266+
]
267+
},
268+
{
269+
"cell_type": "code",
270+
"execution_count": 8,
271+
"metadata": {},
272+
"outputs": [],
273+
"source": [
274+
"writer.add_graph(net, images)\n",
275+
"writer.close()"
276+
]
277+
},
278+
{
279+
"cell_type": "code",
280+
"execution_count": null,
281+
"metadata": {},
282+
"outputs": [],
283+
"source": []
284+
}
285+
],
286+
"metadata": {
287+
"kernelspec": {
288+
"display_name": "Python 3",
289+
"language": "python",
290+
"name": "python3"
291+
},
292+
"language_info": {
293+
"codemirror_mode": {
294+
"name": "ipython",
295+
"version": 3
296+
},
297+
"file_extension": ".py",
298+
"mimetype": "text/x-python",
299+
"name": "python",
300+
"nbconvert_exporter": "python",
301+
"pygments_lexer": "ipython3",
302+
"version": "3.7.6"
303+
}
304+
},
305+
"nbformat": 4,
306+
"nbformat_minor": 4
307+
}

0 commit comments

Comments
 (0)