deep1024 commited on
Commit
04d1ad1
·
verified ·
1 Parent(s): 8901415

Upload Weight_Height.ipynb

Browse files
Files changed (1) hide show
  1. Weight_Height.ipynb +2016 -0
Weight_Height.ipynb ADDED
@@ -0,0 +1,2016 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "id": "42267bba-a891-4f21-8c84-a549fb3de59d",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "import numpy as np\n",
11
+ "import pandas as pd \n",
12
+ "import torch \n",
13
+ "import matplotlib.pyplot as plt"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": 2,
19
+ "id": "48ab380a-2721-4646-9511-69d1513163eb",
20
+ "metadata": {},
21
+ "outputs": [
22
+ {
23
+ "data": {
24
+ "text/html": [
25
+ "<div>\n",
26
+ "<style scoped>\n",
27
+ " .dataframe tbody tr th:only-of-type {\n",
28
+ " vertical-align: middle;\n",
29
+ " }\n",
30
+ "\n",
31
+ " .dataframe tbody tr th {\n",
32
+ " vertical-align: top;\n",
33
+ " }\n",
34
+ "\n",
35
+ " .dataframe thead th {\n",
36
+ " text-align: right;\n",
37
+ " }\n",
38
+ "</style>\n",
39
+ "<table border=\"1\" class=\"dataframe\">\n",
40
+ " <thead>\n",
41
+ " <tr style=\"text-align: right;\">\n",
42
+ " <th></th>\n",
43
+ " <th>Index</th>\n",
44
+ " <th>Height(Inches)</th>\n",
45
+ " <th>Weight(Pounds)</th>\n",
46
+ " </tr>\n",
47
+ " </thead>\n",
48
+ " <tbody>\n",
49
+ " <tr>\n",
50
+ " <th>0</th>\n",
51
+ " <td>1</td>\n",
52
+ " <td>65.78331</td>\n",
53
+ " <td>112.9925</td>\n",
54
+ " </tr>\n",
55
+ " <tr>\n",
56
+ " <th>1</th>\n",
57
+ " <td>2</td>\n",
58
+ " <td>71.51521</td>\n",
59
+ " <td>136.4873</td>\n",
60
+ " </tr>\n",
61
+ " <tr>\n",
62
+ " <th>2</th>\n",
63
+ " <td>3</td>\n",
64
+ " <td>69.39874</td>\n",
65
+ " <td>153.0269</td>\n",
66
+ " </tr>\n",
67
+ " <tr>\n",
68
+ " <th>3</th>\n",
69
+ " <td>4</td>\n",
70
+ " <td>68.21660</td>\n",
71
+ " <td>142.3354</td>\n",
72
+ " </tr>\n",
73
+ " <tr>\n",
74
+ " <th>4</th>\n",
75
+ " <td>5</td>\n",
76
+ " <td>67.78781</td>\n",
77
+ " <td>144.2971</td>\n",
78
+ " </tr>\n",
79
+ " <tr>\n",
80
+ " <th>...</th>\n",
81
+ " <td>...</td>\n",
82
+ " <td>...</td>\n",
83
+ " <td>...</td>\n",
84
+ " </tr>\n",
85
+ " <tr>\n",
86
+ " <th>95</th>\n",
87
+ " <td>96</td>\n",
88
+ " <td>70.55703</td>\n",
89
+ " <td>131.8001</td>\n",
90
+ " </tr>\n",
91
+ " <tr>\n",
92
+ " <th>96</th>\n",
93
+ " <td>97</td>\n",
94
+ " <td>66.28644</td>\n",
95
+ " <td>120.0285</td>\n",
96
+ " </tr>\n",
97
+ " <tr>\n",
98
+ " <th>97</th>\n",
99
+ " <td>98</td>\n",
100
+ " <td>63.42577</td>\n",
101
+ " <td>123.0972</td>\n",
102
+ " </tr>\n",
103
+ " <tr>\n",
104
+ " <th>98</th>\n",
105
+ " <td>99</td>\n",
106
+ " <td>66.76711</td>\n",
107
+ " <td>128.1432</td>\n",
108
+ " </tr>\n",
109
+ " <tr>\n",
110
+ " <th>99</th>\n",
111
+ " <td>100</td>\n",
112
+ " <td>68.88741</td>\n",
113
+ " <td>115.4759</td>\n",
114
+ " </tr>\n",
115
+ " </tbody>\n",
116
+ "</table>\n",
117
+ "<p>100 rows × 3 columns</p>\n",
118
+ "</div>"
119
+ ],
120
+ "text/plain": [
121
+ " Index Height(Inches) Weight(Pounds)\n",
122
+ "0 1 65.78331 112.9925\n",
123
+ "1 2 71.51521 136.4873\n",
124
+ "2 3 69.39874 153.0269\n",
125
+ "3 4 68.21660 142.3354\n",
126
+ "4 5 67.78781 144.2971\n",
127
+ ".. ... ... ...\n",
128
+ "95 96 70.55703 131.8001\n",
129
+ "96 97 66.28644 120.0285\n",
130
+ "97 98 63.42577 123.0972\n",
131
+ "98 99 66.76711 128.1432\n",
132
+ "99 100 68.88741 115.4759\n",
133
+ "\n",
134
+ "[100 rows x 3 columns]"
135
+ ]
136
+ },
137
+ "execution_count": 2,
138
+ "metadata": {},
139
+ "output_type": "execute_result"
140
+ }
141
+ ],
142
+ "source": [
143
+ "#Input(Wieght)\n",
144
+ "data = pd.read_csv(\"/Users/deepeshjha/Desktop/DSnML/weight.csv\",encoding='windows-1254', nrows=100)\n",
145
+ "data"
146
+ ]
147
+ },
148
+ {
149
+ "cell_type": "code",
150
+ "execution_count": 3,
151
+ "id": "8c8aef4d-25b3-41ae-8788-20f433fcdb49",
152
+ "metadata": {},
153
+ "outputs": [
154
+ {
155
+ "data": {
156
+ "text/html": [
157
+ "<div>\n",
158
+ "<style scoped>\n",
159
+ " .dataframe tbody tr th:only-of-type {\n",
160
+ " vertical-align: middle;\n",
161
+ " }\n",
162
+ "\n",
163
+ " .dataframe tbody tr th {\n",
164
+ " vertical-align: top;\n",
165
+ " }\n",
166
+ "\n",
167
+ " .dataframe thead th {\n",
168
+ " text-align: right;\n",
169
+ " }\n",
170
+ "</style>\n",
171
+ "<table border=\"1\" class=\"dataframe\">\n",
172
+ " <thead>\n",
173
+ " <tr style=\"text-align: right;\">\n",
174
+ " <th></th>\n",
175
+ " <th>Height(Inches)</th>\n",
176
+ " <th>Weight(Pounds)</th>\n",
177
+ " </tr>\n",
178
+ " </thead>\n",
179
+ " <tbody>\n",
180
+ " <tr>\n",
181
+ " <th>0</th>\n",
182
+ " <td>65.78331</td>\n",
183
+ " <td>112.9925</td>\n",
184
+ " </tr>\n",
185
+ " <tr>\n",
186
+ " <th>1</th>\n",
187
+ " <td>71.51521</td>\n",
188
+ " <td>136.4873</td>\n",
189
+ " </tr>\n",
190
+ " <tr>\n",
191
+ " <th>2</th>\n",
192
+ " <td>69.39874</td>\n",
193
+ " <td>153.0269</td>\n",
194
+ " </tr>\n",
195
+ " <tr>\n",
196
+ " <th>3</th>\n",
197
+ " <td>68.21660</td>\n",
198
+ " <td>142.3354</td>\n",
199
+ " </tr>\n",
200
+ " <tr>\n",
201
+ " <th>4</th>\n",
202
+ " <td>67.78781</td>\n",
203
+ " <td>144.2971</td>\n",
204
+ " </tr>\n",
205
+ " <tr>\n",
206
+ " <th>...</th>\n",
207
+ " <td>...</td>\n",
208
+ " <td>...</td>\n",
209
+ " </tr>\n",
210
+ " <tr>\n",
211
+ " <th>95</th>\n",
212
+ " <td>70.55703</td>\n",
213
+ " <td>131.8001</td>\n",
214
+ " </tr>\n",
215
+ " <tr>\n",
216
+ " <th>96</th>\n",
217
+ " <td>66.28644</td>\n",
218
+ " <td>120.0285</td>\n",
219
+ " </tr>\n",
220
+ " <tr>\n",
221
+ " <th>97</th>\n",
222
+ " <td>63.42577</td>\n",
223
+ " <td>123.0972</td>\n",
224
+ " </tr>\n",
225
+ " <tr>\n",
226
+ " <th>98</th>\n",
227
+ " <td>66.76711</td>\n",
228
+ " <td>128.1432</td>\n",
229
+ " </tr>\n",
230
+ " <tr>\n",
231
+ " <th>99</th>\n",
232
+ " <td>68.88741</td>\n",
233
+ " <td>115.4759</td>\n",
234
+ " </tr>\n",
235
+ " </tbody>\n",
236
+ "</table>\n",
237
+ "<p>100 rows × 2 columns</p>\n",
238
+ "</div>"
239
+ ],
240
+ "text/plain": [
241
+ " Height(Inches) Weight(Pounds)\n",
242
+ "0 65.78331 112.9925\n",
243
+ "1 71.51521 136.4873\n",
244
+ "2 69.39874 153.0269\n",
245
+ "3 68.21660 142.3354\n",
246
+ "4 67.78781 144.2971\n",
247
+ ".. ... ...\n",
248
+ "95 70.55703 131.8001\n",
249
+ "96 66.28644 120.0285\n",
250
+ "97 63.42577 123.0972\n",
251
+ "98 66.76711 128.1432\n",
252
+ "99 68.88741 115.4759\n",
253
+ "\n",
254
+ "[100 rows x 2 columns]"
255
+ ]
256
+ },
257
+ "execution_count": 3,
258
+ "metadata": {},
259
+ "output_type": "execute_result"
260
+ }
261
+ ],
262
+ "source": [
263
+ "data.drop(columns='Index',axis=1,inplace=True)\n",
264
+ "data"
265
+ ]
266
+ },
267
+ {
268
+ "cell_type": "code",
269
+ "execution_count": 4,
270
+ "id": "e36e2d2d-47f1-4670-a5da-07e45c1a8a5a",
271
+ "metadata": {},
272
+ "outputs": [
273
+ {
274
+ "data": {
275
+ "text/plain": [
276
+ "<matplotlib.collections.PathCollection at 0x1473ecaa0>"
277
+ ]
278
+ },
279
+ "execution_count": 4,
280
+ "metadata": {},
281
+ "output_type": "execute_result"
282
+ },
283
+ {
284
+ "data": {
285
+ "image/png": "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HTx4UCUlJW4PB4PgXnkL98tbuF/eYfdeWZal48ePq7KyUgUFg1eZeDKDUlBQoPPPP9/tYeRMSUkJ/1N6BPfKW7hf3sL98g4792qozEkURbIAAMA4BCgAAMA4BCgGKSoq0vLly1VUVOT2UDAE7pW3cL+8hfvlHbm8V54skgUAAP5GBgUAABiHAAUAABiHAAUAABiHAAUAABiHAMUFhw4d0u23367Ro0frrLPO0uWXX67t27cnvPauu+5SIBDQY4895uwgISm1e7Vnzx7deOONCgaDGjlypK666iodOHDApRHnt6HuV1dXlxoaGnT++efrrLPOUnV1tVavXu3iiPPXhRdeqEAgMODj7rvvliR1d3fr7rvv1ujRo3XOOedozpw5+uSTT1wedf4a7H51dHTonnvu0SWXXKKzzjpLVVVV+v73v69wOJzR9/RkJ1kv+/TTT/W1r31NM2bM0K9+9St94Qtf0N69e3XuuecOuPbll1/W5s2bVVlZ6cJIkcq92r9/v6ZPn64FCxZoxYoVKikp0QcffKDi4mIXR56fUrlfS5YsUVNTk9auXasLL7xQ//7v/67vfe97qqys1I033uji6PPPtm3b1NfXF/t8165dmjlzpm699VZJ0r333qvXX39dL774ooLBoBoaGnTLLbfo/fffd2vIeW2w+3X48GEdPnxYjzzyiKqrq/XRRx/prrvu0uHDh/Vv//Zv6X9TC45aunSpNX369CGv+/jjj60vfvGL1q5du6wLLrjAevTRR3M/OMRJ5V5961vfsm6//XaHRoTBpHK/LrvsMutv//Zv4x678sorrb/5m7/J5dCQgh/84AfW+PHjrUgkYh07dswaPny49eKLL8ae37NnjyXJam5udnGUiDrzfiXyr//6r9aIESOs3t7etL8HSzwOe/XVVzVlyhTdeuutKi8v1xVXXKFnnnkm7ppIJKL58+fr/vvv12WXXebSSDHUvYpEInr99dd18cUX6/rrr1d5ebmmTZum9evXuzfoPJbK/1t/8id/oldffVWHDh2SZVl6++239dvf/lbXXXedS6OGJJ08eVJr167Vd7/7XQUCAe3YsUO9vb2qra2NXXPppZeqqqpKzc3NLo4U0sD7lUg4HFZJSYkKCzNYqEk7tEFaioqKrKKiImvZsmXWzp07rV/84hdWcXGxtWbNmtg1P/nJT6yZM2fGIlMyKO4Y6l61tbVZkqyzzz7b+ulPf2r95je/sVauXGkFAgHrnXfecXn0+SeV/7e6u7utb3/725Ykq7Cw0BoxYoT1z//8zy6OGpZlWf/yL/9iDRs2zDp06JBlWZa1bt06a8SIEQOuu+qqq6wHHnjA6eGhn/73q7///d//taqqqqwHH3wwo+9DgOKw4cOHWzU1NXGP3XPPPdbVV19tWZZlbd++3RozZkzcjSdAccdQ9+rQoUOWJOu2226Lu6a+vt6aO3euY+PEaUPdL8uyrH/4h3+wLr74YuvVV1+1/vM//9N64oknrHPOOcfauHGj08PFGa677jrrz//8z2OfE6CYrf/9OlM4HLamTp1q1dXVWSdPnszo+7DE47CKigpVV1fHPTZhwoTYro93331XR44cUVVVlQoLC1VYWKiPPvpI9913ny688EIXRpy/hrpX5513ngoLCwe9Bs4Z6n59/vnnevDBB/XTn/5U9fX1+spXvqKGhgZ961vf0iOPPOLGkCHpo48+0ptvvqm//Mu/jD0WCoV08uRJHTt2LO7aTz75RKFQyOER4kyJ7lfU8ePHVVdXp1GjRunll1/W8OHDM/peBCgO+9rXvqYPP/ww7rHf/va3uuCCCyRJ8+fP13/913+ppaUl9lFZWan7779fb7zxhhtDzltD3asRI0boqquuGvQaOGeo+9Xb26ve3l4VFMT/2Rs2bJgikYhj40S85557TuXl5brhhhtij02ePFnDhw/XW2+9FXvsww8/1IEDB1RTU+PGMPEHie6XJHV2duq6667TiBEj9Oqrr2ZnJ2NG+RfYtnXrVquwsND68Y9/bO3du9dat26ddfbZZ1tr165N+jUs8bgjlXv10ksvWcOHD7eefvppa+/evdYTTzxhDRs2zHr33XddHHl+SuV+/dmf/Zl12WWXWW+//bb1P//zP9Zzzz1nFRcXWz//+c9dHHn+6uvrs6qqqqylS5cOeO6uu+6yqqqqrKamJmv79u1WTU3NgCU8OCvZ/QqHw9a0adOsyy+/3Nq3b5/V1tYW+zh16lTa348AxQUbNmywJk6caBUVFVmXXnqp9fTTTw96PQGKe1K5V88++6x10UUXWcXFxdakSZOs9evXuzBSWNbQ96utrc36zne+Y1VWVlrFxcXWJZdcYv3jP/5j0q2SyK033njDkmR9+OGHA577/PPPre9973vWueeea5199tnWzTffbLW1tbkwSkQlu19vv/22JSnhR2tra9rfL2BZlpV5HgYAACB7qEEBAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADGIUABAADG+f8BgJ8m05boYPQAAAAASUVORK5CYII=",
286
+ "text/plain": [
287
+ "<Figure size 640x480 with 1 Axes>"
288
+ ]
289
+ },
290
+ "metadata": {},
291
+ "output_type": "display_data"
292
+ }
293
+ ],
294
+ "source": [
295
+ "plt.scatter(data[\"Height(Inches)\"],data[\"Weight(Pounds)\"])"
296
+ ]
297
+ },
298
+ {
299
+ "cell_type": "code",
300
+ "execution_count": 5,
301
+ "id": "a9e26124-41f7-4e28-82db-2e05f45f4318",
302
+ "metadata": {},
303
+ "outputs": [
304
+ {
305
+ "data": {
306
+ "text/html": [
307
+ "<div>\n",
308
+ "<style scoped>\n",
309
+ " .dataframe tbody tr th:only-of-type {\n",
310
+ " vertical-align: middle;\n",
311
+ " }\n",
312
+ "\n",
313
+ " .dataframe tbody tr th {\n",
314
+ " vertical-align: top;\n",
315
+ " }\n",
316
+ "\n",
317
+ " .dataframe thead th {\n",
318
+ " text-align: right;\n",
319
+ " }\n",
320
+ "</style>\n",
321
+ "<table border=\"1\" class=\"dataframe\">\n",
322
+ " <thead>\n",
323
+ " <tr style=\"text-align: right;\">\n",
324
+ " <th></th>\n",
325
+ " <th>Height(Inches)</th>\n",
326
+ " </tr>\n",
327
+ " </thead>\n",
328
+ " <tbody>\n",
329
+ " <tr>\n",
330
+ " <th>0</th>\n",
331
+ " <td>65.78331</td>\n",
332
+ " </tr>\n",
333
+ " <tr>\n",
334
+ " <th>1</th>\n",
335
+ " <td>71.51521</td>\n",
336
+ " </tr>\n",
337
+ " <tr>\n",
338
+ " <th>2</th>\n",
339
+ " <td>69.39874</td>\n",
340
+ " </tr>\n",
341
+ " <tr>\n",
342
+ " <th>3</th>\n",
343
+ " <td>68.21660</td>\n",
344
+ " </tr>\n",
345
+ " <tr>\n",
346
+ " <th>4</th>\n",
347
+ " <td>67.78781</td>\n",
348
+ " </tr>\n",
349
+ " <tr>\n",
350
+ " <th>...</th>\n",
351
+ " <td>...</td>\n",
352
+ " </tr>\n",
353
+ " <tr>\n",
354
+ " <th>95</th>\n",
355
+ " <td>70.55703</td>\n",
356
+ " </tr>\n",
357
+ " <tr>\n",
358
+ " <th>96</th>\n",
359
+ " <td>66.28644</td>\n",
360
+ " </tr>\n",
361
+ " <tr>\n",
362
+ " <th>97</th>\n",
363
+ " <td>63.42577</td>\n",
364
+ " </tr>\n",
365
+ " <tr>\n",
366
+ " <th>98</th>\n",
367
+ " <td>66.76711</td>\n",
368
+ " </tr>\n",
369
+ " <tr>\n",
370
+ " <th>99</th>\n",
371
+ " <td>68.88741</td>\n",
372
+ " </tr>\n",
373
+ " </tbody>\n",
374
+ "</table>\n",
375
+ "<p>100 rows × 1 columns</p>\n",
376
+ "</div>"
377
+ ],
378
+ "text/plain": [
379
+ " Height(Inches)\n",
380
+ "0 65.78331\n",
381
+ "1 71.51521\n",
382
+ "2 69.39874\n",
383
+ "3 68.21660\n",
384
+ "4 67.78781\n",
385
+ ".. ...\n",
386
+ "95 70.55703\n",
387
+ "96 66.28644\n",
388
+ "97 63.42577\n",
389
+ "98 66.76711\n",
390
+ "99 68.88741\n",
391
+ "\n",
392
+ "[100 rows x 1 columns]"
393
+ ]
394
+ },
395
+ "execution_count": 5,
396
+ "metadata": {},
397
+ "output_type": "execute_result"
398
+ }
399
+ ],
400
+ "source": [
401
+ "inputs = pd.read_csv(\"/Users/deepeshjha/Desktop/DSnML/weight.csv\",encoding='windows-1254', nrows=100,usecols=(0,1))\n",
402
+ "inputs.drop(columns='Index',axis=1,inplace=True)\n",
403
+ "\n",
404
+ "inputs"
405
+ ]
406
+ },
407
+ {
408
+ "cell_type": "code",
409
+ "execution_count": 6,
410
+ "id": "4bc99879-111f-4da6-b4da-c0e2ec449bbe",
411
+ "metadata": {},
412
+ "outputs": [
413
+ {
414
+ "data": {
415
+ "text/html": [
416
+ "<div>\n",
417
+ "<style scoped>\n",
418
+ " .dataframe tbody tr th:only-of-type {\n",
419
+ " vertical-align: middle;\n",
420
+ " }\n",
421
+ "\n",
422
+ " .dataframe tbody tr th {\n",
423
+ " vertical-align: top;\n",
424
+ " }\n",
425
+ "\n",
426
+ " .dataframe thead th {\n",
427
+ " text-align: right;\n",
428
+ " }\n",
429
+ "</style>\n",
430
+ "<table border=\"1\" class=\"dataframe\">\n",
431
+ " <thead>\n",
432
+ " <tr style=\"text-align: right;\">\n",
433
+ " <th></th>\n",
434
+ " <th>Weight(Pounds)</th>\n",
435
+ " </tr>\n",
436
+ " </thead>\n",
437
+ " <tbody>\n",
438
+ " <tr>\n",
439
+ " <th>0</th>\n",
440
+ " <td>112.9925</td>\n",
441
+ " </tr>\n",
442
+ " <tr>\n",
443
+ " <th>1</th>\n",
444
+ " <td>136.4873</td>\n",
445
+ " </tr>\n",
446
+ " <tr>\n",
447
+ " <th>2</th>\n",
448
+ " <td>153.0269</td>\n",
449
+ " </tr>\n",
450
+ " <tr>\n",
451
+ " <th>3</th>\n",
452
+ " <td>142.3354</td>\n",
453
+ " </tr>\n",
454
+ " <tr>\n",
455
+ " <th>4</th>\n",
456
+ " <td>144.2971</td>\n",
457
+ " </tr>\n",
458
+ " <tr>\n",
459
+ " <th>...</th>\n",
460
+ " <td>...</td>\n",
461
+ " </tr>\n",
462
+ " <tr>\n",
463
+ " <th>95</th>\n",
464
+ " <td>131.8001</td>\n",
465
+ " </tr>\n",
466
+ " <tr>\n",
467
+ " <th>96</th>\n",
468
+ " <td>120.0285</td>\n",
469
+ " </tr>\n",
470
+ " <tr>\n",
471
+ " <th>97</th>\n",
472
+ " <td>123.0972</td>\n",
473
+ " </tr>\n",
474
+ " <tr>\n",
475
+ " <th>98</th>\n",
476
+ " <td>128.1432</td>\n",
477
+ " </tr>\n",
478
+ " <tr>\n",
479
+ " <th>99</th>\n",
480
+ " <td>115.4759</td>\n",
481
+ " </tr>\n",
482
+ " </tbody>\n",
483
+ "</table>\n",
484
+ "<p>100 rows × 1 columns</p>\n",
485
+ "</div>"
486
+ ],
487
+ "text/plain": [
488
+ " Weight(Pounds)\n",
489
+ "0 112.9925\n",
490
+ "1 136.4873\n",
491
+ "2 153.0269\n",
492
+ "3 142.3354\n",
493
+ "4 144.2971\n",
494
+ ".. ...\n",
495
+ "95 131.8001\n",
496
+ "96 120.0285\n",
497
+ "97 123.0972\n",
498
+ "98 128.1432\n",
499
+ "99 115.4759\n",
500
+ "\n",
501
+ "[100 rows x 1 columns]"
502
+ ]
503
+ },
504
+ "execution_count": 6,
505
+ "metadata": {},
506
+ "output_type": "execute_result"
507
+ }
508
+ ],
509
+ "source": [
510
+ "targets = pd.read_csv(\"/Users/deepeshjha/Desktop/DSnML/weight.csv\",encoding='windows-1254', nrows=100,usecols=(2,2))\n",
511
+ "targets"
512
+ ]
513
+ },
514
+ {
515
+ "cell_type": "code",
516
+ "execution_count": 7,
517
+ "id": "e16b3b6b-5d5e-4f3d-ad35-92e45ea0656a",
518
+ "metadata": {},
519
+ "outputs": [
520
+ {
521
+ "data": {
522
+ "text/plain": [
523
+ "array([[65.78331],\n",
524
+ " [71.51521],\n",
525
+ " [69.39874],\n",
526
+ " [68.2166 ],\n",
527
+ " [67.78781],\n",
528
+ " [68.69784],\n",
529
+ " [69.80204],\n",
530
+ " [70.01472],\n",
531
+ " [67.90265],\n",
532
+ " [66.78236],\n",
533
+ " [66.48769],\n",
534
+ " [67.62333],\n",
535
+ " [68.30248],\n",
536
+ " [67.11656],\n",
537
+ " [68.27967],\n",
538
+ " [71.0916 ],\n",
539
+ " [66.461 ],\n",
540
+ " [68.64927],\n",
541
+ " [71.23033],\n",
542
+ " [67.13118],\n",
543
+ " [67.83379],\n",
544
+ " [68.87881],\n",
545
+ " [63.48115],\n",
546
+ " [68.42187],\n",
547
+ " [67.62804],\n",
548
+ " [67.20864],\n",
549
+ " [70.84235],\n",
550
+ " [67.49434],\n",
551
+ " [66.53401],\n",
552
+ " [65.44098],\n",
553
+ " [69.5233 ],\n",
554
+ " [65.8132 ],\n",
555
+ " [67.8163 ],\n",
556
+ " [70.59505],\n",
557
+ " [71.80484],\n",
558
+ " [69.20613],\n",
559
+ " [66.80368],\n",
560
+ " [67.65893],\n",
561
+ " [67.80701],\n",
562
+ " [64.04535],\n",
563
+ " [68.57463],\n",
564
+ " [65.18357],\n",
565
+ " [69.65814],\n",
566
+ " [67.96731],\n",
567
+ " [65.98088],\n",
568
+ " [68.67249],\n",
569
+ " [66.88088],\n",
570
+ " [67.69868],\n",
571
+ " [69.82117],\n",
572
+ " [69.08817],\n",
573
+ " [69.91479],\n",
574
+ " [67.33182],\n",
575
+ " [70.26939],\n",
576
+ " [69.10344],\n",
577
+ " [65.38356],\n",
578
+ " [70.18447],\n",
579
+ " [70.40617],\n",
580
+ " [66.54376],\n",
581
+ " [66.36418],\n",
582
+ " [67.537 ],\n",
583
+ " [66.50418],\n",
584
+ " [68.99958],\n",
585
+ " [68.30355],\n",
586
+ " [67.01255],\n",
587
+ " [70.80592],\n",
588
+ " [68.21951],\n",
589
+ " [69.05914],\n",
590
+ " [67.73103],\n",
591
+ " [67.21568],\n",
592
+ " [67.36763],\n",
593
+ " [65.27033],\n",
594
+ " [70.84278],\n",
595
+ " [69.92442],\n",
596
+ " [64.28508],\n",
597
+ " [68.2452 ],\n",
598
+ " [66.35708],\n",
599
+ " [68.36275],\n",
600
+ " [65.4769 ],\n",
601
+ " [69.71947],\n",
602
+ " [67.72554],\n",
603
+ " [68.63941],\n",
604
+ " [66.78405],\n",
605
+ " [70.05147],\n",
606
+ " [66.27848],\n",
607
+ " [69.20198],\n",
608
+ " [69.13481],\n",
609
+ " [67.36436],\n",
610
+ " [70.09297],\n",
611
+ " [70.1766 ],\n",
612
+ " [68.22556],\n",
613
+ " [68.12932],\n",
614
+ " [70.24256],\n",
615
+ " [71.48752],\n",
616
+ " [69.20477],\n",
617
+ " [70.06306],\n",
618
+ " [70.55703],\n",
619
+ " [66.28644],\n",
620
+ " [63.42577],\n",
621
+ " [66.76711],\n",
622
+ " [68.88741]], dtype=float32)"
623
+ ]
624
+ },
625
+ "execution_count": 7,
626
+ "metadata": {},
627
+ "output_type": "execute_result"
628
+ }
629
+ ],
630
+ "source": [
631
+ "arr = inputs.values\n",
632
+ "arr = arr.astype('float32')\n",
633
+ "arr"
634
+ ]
635
+ },
636
+ {
637
+ "cell_type": "code",
638
+ "execution_count": 8,
639
+ "id": "beb315ca-950b-48d1-8b8e-68456c97913e",
640
+ "metadata": {},
641
+ "outputs": [
642
+ {
643
+ "data": {
644
+ "text/plain": [
645
+ "array([[112.9925 ],\n",
646
+ " [136.4873 ],\n",
647
+ " [153.0269 ],\n",
648
+ " [142.3354 ],\n",
649
+ " [144.2971 ],\n",
650
+ " [123.3024 ],\n",
651
+ " [141.4947 ],\n",
652
+ " [136.4623 ],\n",
653
+ " [112.3723 ],\n",
654
+ " [120.6672 ],\n",
655
+ " [127.4516 ],\n",
656
+ " [114.143 ],\n",
657
+ " [125.6107 ],\n",
658
+ " [122.4618 ],\n",
659
+ " [116.0866 ],\n",
660
+ " [139.9975 ],\n",
661
+ " [129.5023 ],\n",
662
+ " [142.9733 ],\n",
663
+ " [137.9025 ],\n",
664
+ " [124.0449 ],\n",
665
+ " [141.2807 ],\n",
666
+ " [143.5392 ],\n",
667
+ " [ 97.90191],\n",
668
+ " [129.5027 ],\n",
669
+ " [141.8501 ],\n",
670
+ " [129.7244 ],\n",
671
+ " [142.4235 ],\n",
672
+ " [131.5502 ],\n",
673
+ " [108.3324 ],\n",
674
+ " [113.8922 ],\n",
675
+ " [103.3016 ],\n",
676
+ " [120.7536 ],\n",
677
+ " [125.7886 ],\n",
678
+ " [136.2225 ],\n",
679
+ " [140.1015 ],\n",
680
+ " [128.7487 ],\n",
681
+ " [141.7994 ],\n",
682
+ " [121.2319 ],\n",
683
+ " [131.3478 ],\n",
684
+ " [106.7115 ],\n",
685
+ " [124.3598 ],\n",
686
+ " [124.8591 ],\n",
687
+ " [139.6711 ],\n",
688
+ " [137.3696 ],\n",
689
+ " [106.4499 ],\n",
690
+ " [128.7639 ],\n",
691
+ " [145.6837 ],\n",
692
+ " [116.819 ],\n",
693
+ " [143.6215 ],\n",
694
+ " [134.9325 ],\n",
695
+ " [147.0219 ],\n",
696
+ " [126.3285 ],\n",
697
+ " [125.4839 ],\n",
698
+ " [115.7084 ],\n",
699
+ " [123.4892 ],\n",
700
+ " [147.8926 ],\n",
701
+ " [155.8987 ],\n",
702
+ " [128.0742 ],\n",
703
+ " [119.3701 ],\n",
704
+ " [133.8148 ],\n",
705
+ " [128.7325 ],\n",
706
+ " [137.5453 ],\n",
707
+ " [129.7604 ],\n",
708
+ " [128.824 ],\n",
709
+ " [135.3165 ],\n",
710
+ " [109.6113 ],\n",
711
+ " [142.4684 ],\n",
712
+ " [132.749 ],\n",
713
+ " [103.5275 ],\n",
714
+ " [124.7299 ],\n",
715
+ " [129.3137 ],\n",
716
+ " [134.0175 ],\n",
717
+ " [140.3969 ],\n",
718
+ " [102.8351 ],\n",
719
+ " [128.5214 ],\n",
720
+ " [120.2991 ],\n",
721
+ " [138.6036 ],\n",
722
+ " [132.9574 ],\n",
723
+ " [115.6233 ],\n",
724
+ " [122.524 ],\n",
725
+ " [134.6254 ],\n",
726
+ " [121.8986 ],\n",
727
+ " [155.3767 ],\n",
728
+ " [128.9418 ],\n",
729
+ " [129.1013 ],\n",
730
+ " [139.4733 ],\n",
731
+ " [140.8901 ],\n",
732
+ " [131.5916 ],\n",
733
+ " [121.1232 ],\n",
734
+ " [131.5127 ],\n",
735
+ " [136.5479 ],\n",
736
+ " [141.4896 ],\n",
737
+ " [140.6104 ],\n",
738
+ " [112.1413 ],\n",
739
+ " [133.457 ],\n",
740
+ " [131.8001 ],\n",
741
+ " [120.0285 ],\n",
742
+ " [123.0972 ],\n",
743
+ " [128.1432 ],\n",
744
+ " [115.4759 ]], dtype=float32)"
745
+ ]
746
+ },
747
+ "execution_count": 8,
748
+ "metadata": {},
749
+ "output_type": "execute_result"
750
+ }
751
+ ],
752
+ "source": [
753
+ "arr1 = targets.values\n",
754
+ "arr1 = arr1.astype('float32')\n",
755
+ "arr1"
756
+ ]
757
+ },
758
+ {
759
+ "cell_type": "code",
760
+ "execution_count": 9,
761
+ "id": "caacc6e7-9b91-4c0d-ae14-dfcdf6d8cbe2",
762
+ "metadata": {},
763
+ "outputs": [
764
+ {
765
+ "data": {
766
+ "text/plain": [
767
+ "tensor([[65.7833],\n",
768
+ " [71.5152],\n",
769
+ " [69.3987],\n",
770
+ " [68.2166],\n",
771
+ " [67.7878],\n",
772
+ " [68.6978],\n",
773
+ " [69.8020],\n",
774
+ " [70.0147],\n",
775
+ " [67.9026],\n",
776
+ " [66.7824],\n",
777
+ " [66.4877],\n",
778
+ " [67.6233],\n",
779
+ " [68.3025],\n",
780
+ " [67.1166],\n",
781
+ " [68.2797],\n",
782
+ " [71.0916],\n",
783
+ " [66.4610],\n",
784
+ " [68.6493],\n",
785
+ " [71.2303],\n",
786
+ " [67.1312],\n",
787
+ " [67.8338],\n",
788
+ " [68.8788],\n",
789
+ " [63.4812],\n",
790
+ " [68.4219],\n",
791
+ " [67.6280],\n",
792
+ " [67.2086],\n",
793
+ " [70.8423],\n",
794
+ " [67.4943],\n",
795
+ " [66.5340],\n",
796
+ " [65.4410],\n",
797
+ " [69.5233],\n",
798
+ " [65.8132],\n",
799
+ " [67.8163],\n",
800
+ " [70.5950],\n",
801
+ " [71.8048],\n",
802
+ " [69.2061],\n",
803
+ " [66.8037],\n",
804
+ " [67.6589],\n",
805
+ " [67.8070],\n",
806
+ " [64.0453],\n",
807
+ " [68.5746],\n",
808
+ " [65.1836],\n",
809
+ " [69.6581],\n",
810
+ " [67.9673],\n",
811
+ " [65.9809],\n",
812
+ " [68.6725],\n",
813
+ " [66.8809],\n",
814
+ " [67.6987],\n",
815
+ " [69.8212],\n",
816
+ " [69.0882],\n",
817
+ " [69.9148],\n",
818
+ " [67.3318],\n",
819
+ " [70.2694],\n",
820
+ " [69.1034],\n",
821
+ " [65.3836],\n",
822
+ " [70.1845],\n",
823
+ " [70.4062],\n",
824
+ " [66.5438],\n",
825
+ " [66.3642],\n",
826
+ " [67.5370],\n",
827
+ " [66.5042],\n",
828
+ " [68.9996],\n",
829
+ " [68.3036],\n",
830
+ " [67.0126],\n",
831
+ " [70.8059],\n",
832
+ " [68.2195],\n",
833
+ " [69.0591],\n",
834
+ " [67.7310],\n",
835
+ " [67.2157],\n",
836
+ " [67.3676],\n",
837
+ " [65.2703],\n",
838
+ " [70.8428],\n",
839
+ " [69.9244],\n",
840
+ " [64.2851],\n",
841
+ " [68.2452],\n",
842
+ " [66.3571],\n",
843
+ " [68.3627],\n",
844
+ " [65.4769],\n",
845
+ " [69.7195],\n",
846
+ " [67.7255],\n",
847
+ " [68.6394],\n",
848
+ " [66.7840],\n",
849
+ " [70.0515],\n",
850
+ " [66.2785],\n",
851
+ " [69.2020],\n",
852
+ " [69.1348],\n",
853
+ " [67.3644],\n",
854
+ " [70.0930],\n",
855
+ " [70.1766],\n",
856
+ " [68.2256],\n",
857
+ " [68.1293],\n",
858
+ " [70.2426],\n",
859
+ " [71.4875],\n",
860
+ " [69.2048],\n",
861
+ " [70.0631],\n",
862
+ " [70.5570],\n",
863
+ " [66.2864],\n",
864
+ " [63.4258],\n",
865
+ " [66.7671],\n",
866
+ " [68.8874]])"
867
+ ]
868
+ },
869
+ "execution_count": 9,
870
+ "metadata": {},
871
+ "output_type": "execute_result"
872
+ }
873
+ ],
874
+ "source": [
875
+ "inputtens = torch.tensor(arr)\n",
876
+ "inputtens"
877
+ ]
878
+ },
879
+ {
880
+ "cell_type": "code",
881
+ "execution_count": 10,
882
+ "id": "3d5e8506-3ebb-4ef1-9a0d-45002a991265",
883
+ "metadata": {},
884
+ "outputs": [
885
+ {
886
+ "data": {
887
+ "text/plain": [
888
+ "tensor([[112.9925],\n",
889
+ " [136.4873],\n",
890
+ " [153.0269],\n",
891
+ " [142.3354],\n",
892
+ " [144.2971],\n",
893
+ " [123.3024],\n",
894
+ " [141.4947],\n",
895
+ " [136.4623],\n",
896
+ " [112.3723],\n",
897
+ " [120.6672],\n",
898
+ " [127.4516],\n",
899
+ " [114.1430],\n",
900
+ " [125.6107],\n",
901
+ " [122.4618],\n",
902
+ " [116.0866],\n",
903
+ " [139.9975],\n",
904
+ " [129.5023],\n",
905
+ " [142.9733],\n",
906
+ " [137.9025],\n",
907
+ " [124.0449],\n",
908
+ " [141.2807],\n",
909
+ " [143.5392],\n",
910
+ " [ 97.9019],\n",
911
+ " [129.5027],\n",
912
+ " [141.8501],\n",
913
+ " [129.7244],\n",
914
+ " [142.4235],\n",
915
+ " [131.5502],\n",
916
+ " [108.3324],\n",
917
+ " [113.8922],\n",
918
+ " [103.3016],\n",
919
+ " [120.7536],\n",
920
+ " [125.7886],\n",
921
+ " [136.2225],\n",
922
+ " [140.1015],\n",
923
+ " [128.7487],\n",
924
+ " [141.7994],\n",
925
+ " [121.2319],\n",
926
+ " [131.3478],\n",
927
+ " [106.7115],\n",
928
+ " [124.3598],\n",
929
+ " [124.8591],\n",
930
+ " [139.6711],\n",
931
+ " [137.3696],\n",
932
+ " [106.4499],\n",
933
+ " [128.7639],\n",
934
+ " [145.6837],\n",
935
+ " [116.8190],\n",
936
+ " [143.6215],\n",
937
+ " [134.9325],\n",
938
+ " [147.0219],\n",
939
+ " [126.3285],\n",
940
+ " [125.4839],\n",
941
+ " [115.7084],\n",
942
+ " [123.4892],\n",
943
+ " [147.8926],\n",
944
+ " [155.8987],\n",
945
+ " [128.0742],\n",
946
+ " [119.3701],\n",
947
+ " [133.8148],\n",
948
+ " [128.7325],\n",
949
+ " [137.5453],\n",
950
+ " [129.7604],\n",
951
+ " [128.8240],\n",
952
+ " [135.3165],\n",
953
+ " [109.6113],\n",
954
+ " [142.4684],\n",
955
+ " [132.7490],\n",
956
+ " [103.5275],\n",
957
+ " [124.7299],\n",
958
+ " [129.3137],\n",
959
+ " [134.0175],\n",
960
+ " [140.3969],\n",
961
+ " [102.8351],\n",
962
+ " [128.5214],\n",
963
+ " [120.2991],\n",
964
+ " [138.6036],\n",
965
+ " [132.9574],\n",
966
+ " [115.6233],\n",
967
+ " [122.5240],\n",
968
+ " [134.6254],\n",
969
+ " [121.8986],\n",
970
+ " [155.3767],\n",
971
+ " [128.9418],\n",
972
+ " [129.1013],\n",
973
+ " [139.4733],\n",
974
+ " [140.8901],\n",
975
+ " [131.5916],\n",
976
+ " [121.1232],\n",
977
+ " [131.5127],\n",
978
+ " [136.5479],\n",
979
+ " [141.4896],\n",
980
+ " [140.6104],\n",
981
+ " [112.1413],\n",
982
+ " [133.4570],\n",
983
+ " [131.8001],\n",
984
+ " [120.0285],\n",
985
+ " [123.0972],\n",
986
+ " [128.1432],\n",
987
+ " [115.4759]])"
988
+ ]
989
+ },
990
+ "execution_count": 10,
991
+ "metadata": {},
992
+ "output_type": "execute_result"
993
+ }
994
+ ],
995
+ "source": [
996
+ "outputtens = torch.tensor(arr1)\n",
997
+ "outputtens"
998
+ ]
999
+ },
1000
+ {
1001
+ "cell_type": "code",
1002
+ "execution_count": 11,
1003
+ "id": "f5b4f1fd-40fa-4be1-8f0e-67006692fec9",
1004
+ "metadata": {},
1005
+ "outputs": [
1006
+ {
1007
+ "name": "stdout",
1008
+ "output_type": "stream",
1009
+ "text": [
1010
+ "tensor([[-1.6313]], requires_grad=True)\n",
1011
+ "tensor([[ 0.3640],\n",
1012
+ " [ 0.4578],\n",
1013
+ " [-0.2280],\n",
1014
+ " [ 0.8230],\n",
1015
+ " [ 0.3227],\n",
1016
+ " [ 0.0840],\n",
1017
+ " [-0.3212],\n",
1018
+ " [ 0.1655],\n",
1019
+ " [ 0.5730],\n",
1020
+ " [-0.4883],\n",
1021
+ " [ 1.0952],\n",
1022
+ " [ 0.9407],\n",
1023
+ " [ 2.2522],\n",
1024
+ " [-0.0274],\n",
1025
+ " [ 1.4389],\n",
1026
+ " [-0.5267],\n",
1027
+ " [ 1.4747],\n",
1028
+ " [-0.7532],\n",
1029
+ " [-0.6311],\n",
1030
+ " [ 2.1627],\n",
1031
+ " [ 0.4899],\n",
1032
+ " [ 0.7637],\n",
1033
+ " [ 0.6485],\n",
1034
+ " [ 1.2025],\n",
1035
+ " [ 0.2459],\n",
1036
+ " [ 0.1473],\n",
1037
+ " [-2.3008],\n",
1038
+ " [-0.7537],\n",
1039
+ " [-1.1512],\n",
1040
+ " [-0.6872],\n",
1041
+ " [-1.1901],\n",
1042
+ " [-0.8182],\n",
1043
+ " [ 0.1322],\n",
1044
+ " [ 0.4698],\n",
1045
+ " [-1.0642],\n",
1046
+ " [ 0.7324],\n",
1047
+ " [ 2.3941],\n",
1048
+ " [ 0.2191],\n",
1049
+ " [ 0.2571],\n",
1050
+ " [ 0.3011],\n",
1051
+ " [-1.6922],\n",
1052
+ " [-1.3596],\n",
1053
+ " [ 0.4794],\n",
1054
+ " [-0.6092],\n",
1055
+ " [ 0.0362],\n",
1056
+ " [ 0.9389],\n",
1057
+ " [-0.0921],\n",
1058
+ " [ 0.7333],\n",
1059
+ " [-0.3299],\n",
1060
+ " [-1.9814],\n",
1061
+ " [ 0.3726],\n",
1062
+ " [-0.2153],\n",
1063
+ " [ 1.6981],\n",
1064
+ " [-0.3395],\n",
1065
+ " [ 0.2804],\n",
1066
+ " [-1.1851],\n",
1067
+ " [ 0.0993],\n",
1068
+ " [-0.5853],\n",
1069
+ " [-0.5532],\n",
1070
+ " [ 0.9530],\n",
1071
+ " [ 0.0082],\n",
1072
+ " [-0.7154],\n",
1073
+ " [-0.4459],\n",
1074
+ " [ 0.8444],\n",
1075
+ " [-0.7292],\n",
1076
+ " [-0.7376],\n",
1077
+ " [ 0.6551],\n",
1078
+ " [ 0.3394],\n",
1079
+ " [-1.0288],\n",
1080
+ " [ 0.0195],\n",
1081
+ " [-0.4089],\n",
1082
+ " [-1.3883],\n",
1083
+ " [ 0.0122],\n",
1084
+ " [ 1.7722],\n",
1085
+ " [ 1.1468],\n",
1086
+ " [ 0.0302],\n",
1087
+ " [-0.4004],\n",
1088
+ " [-0.1592],\n",
1089
+ " [-0.0305],\n",
1090
+ " [ 0.5156],\n",
1091
+ " [ 0.6942],\n",
1092
+ " [ 0.8665],\n",
1093
+ " [ 1.6664],\n",
1094
+ " [-0.7205],\n",
1095
+ " [-2.0495],\n",
1096
+ " [-1.9289],\n",
1097
+ " [ 0.5188],\n",
1098
+ " [-1.5122],\n",
1099
+ " [-0.1012],\n",
1100
+ " [-1.5340],\n",
1101
+ " [-0.4765],\n",
1102
+ " [-0.7763],\n",
1103
+ " [ 0.9087],\n",
1104
+ " [ 0.9382],\n",
1105
+ " [-0.7229],\n",
1106
+ " [-0.3025],\n",
1107
+ " [ 0.9606],\n",
1108
+ " [-2.4262],\n",
1109
+ " [ 1.0602],\n",
1110
+ " [-0.1201]], requires_grad=True)\n"
1111
+ ]
1112
+ }
1113
+ ],
1114
+ "source": [
1115
+ "w = torch.randn(1,1,requires_grad = True)\n",
1116
+ "b = torch.randn(100,1, requires_grad=True)\n",
1117
+ "print(w);print(b)"
1118
+ ]
1119
+ },
1120
+ {
1121
+ "cell_type": "code",
1122
+ "execution_count": 12,
1123
+ "id": "ef6f463a-6341-47bb-8d4c-0e315b801cb3",
1124
+ "metadata": {},
1125
+ "outputs": [],
1126
+ "source": [
1127
+ "def model(x):\n",
1128
+ " return x@w.t()+b"
1129
+ ]
1130
+ },
1131
+ {
1132
+ "cell_type": "code",
1133
+ "execution_count": 13,
1134
+ "id": "c6b7b8ea-dec1-47c0-9fd2-508d4641e3f2",
1135
+ "metadata": {},
1136
+ "outputs": [
1137
+ {
1138
+ "data": {
1139
+ "text/plain": [
1140
+ "tensor([[-106.9474],\n",
1141
+ " [-116.2038],\n",
1142
+ " [-113.4371],\n",
1143
+ " [-110.4577],\n",
1144
+ " [-110.2585],\n",
1145
+ " [-111.9818],\n",
1146
+ " [-114.1882],\n",
1147
+ " [-114.0485],\n",
1148
+ " [-110.1955],\n",
1149
+ " [-109.4294],\n",
1150
+ " [-107.3652],\n",
1151
+ " [-109.3722],\n",
1152
+ " [-109.1686],\n",
1153
+ " [-109.5136],\n",
1154
+ " [-109.9447],\n",
1155
+ " [-116.4973],\n",
1156
+ " [-106.9421],\n",
1157
+ " [-112.7397],\n",
1158
+ " [-116.8281],\n",
1159
+ " [-107.3474],\n",
1160
+ " [-110.1663],\n",
1161
+ " [-111.5973],\n",
1162
+ " [-102.9073],\n",
1163
+ " [-110.4130],\n",
1164
+ " [-110.0747],\n",
1165
+ " [-109.4891],\n",
1166
+ " [-117.8648],\n",
1167
+ " [-110.8562],\n",
1168
+ " [-109.6871],\n",
1169
+ " [-107.4400],\n",
1170
+ " [-114.6024],\n",
1171
+ " [-108.1782],\n",
1172
+ " [-110.4955],\n",
1173
+ " [-114.6909],\n",
1174
+ " [-118.1983],\n",
1175
+ " [-112.1625],\n",
1176
+ " [-106.5817],\n",
1177
+ " [-110.1519],\n",
1178
+ " [-110.3554],\n",
1179
+ " [-104.1751],\n",
1180
+ " [-113.5570],\n",
1181
+ " [-107.6925],\n",
1182
+ " [-113.1528],\n",
1183
+ " [-111.4832],\n",
1184
+ " [-107.5974],\n",
1185
+ " [-111.0855],\n",
1186
+ " [-109.1938],\n",
1187
+ " [-109.7025],\n",
1188
+ " [-114.2281],\n",
1189
+ " [-114.6839],\n",
1190
+ " [-113.6784],\n",
1191
+ " [-110.0527],\n",
1192
+ " [-112.9313],\n",
1193
+ " [-113.0669],\n",
1194
+ " [-106.3789],\n",
1195
+ " [-115.6759],\n",
1196
+ " [-114.7533],\n",
1197
+ " [-109.1371],\n",
1198
+ " [-108.8121],\n",
1199
+ " [-109.2191],\n",
1200
+ " [-108.4791],\n",
1201
+ " [-113.2734],\n",
1202
+ " [-111.8684],\n",
1203
+ " [-108.4722],\n",
1204
+ " [-116.2338],\n",
1205
+ " [-112.0230],\n",
1206
+ " [-112.0000],\n",
1207
+ " [-110.1492],\n",
1208
+ " [-110.6767],\n",
1209
+ " [-109.8763],\n",
1210
+ " [-106.8834],\n",
1211
+ " [-116.9531],\n",
1212
+ " [-114.0544],\n",
1213
+ " [-103.0950],\n",
1214
+ " [-110.1806],\n",
1215
+ " [-108.2171],\n",
1216
+ " [-111.9195],\n",
1217
+ " [-106.9706],\n",
1218
+ " [-113.7628],\n",
1219
+ " [-109.9641],\n",
1220
+ " [-111.2763],\n",
1221
+ " [-108.0773],\n",
1222
+ " [-112.6075],\n",
1223
+ " [-108.8396],\n",
1224
+ " [-114.9376],\n",
1225
+ " [-114.7074],\n",
1226
+ " [-109.3717],\n",
1227
+ " [-115.8538],\n",
1228
+ " [-114.5792],\n",
1229
+ " [-112.8294],\n",
1230
+ " [-111.6148],\n",
1231
+ " [-115.3619],\n",
1232
+ " [-115.7078],\n",
1233
+ " [-111.9545],\n",
1234
+ " [-115.0157],\n",
1235
+ " [-115.4011],\n",
1236
+ " [-107.1714],\n",
1237
+ " [-105.8917],\n",
1238
+ " [-107.8560],\n",
1239
+ " [-112.4951]], grad_fn=<AddBackward0>)"
1240
+ ]
1241
+ },
1242
+ "execution_count": 13,
1243
+ "metadata": {},
1244
+ "output_type": "execute_result"
1245
+ }
1246
+ ],
1247
+ "source": [
1248
+ "pred = model(inputtens)\n",
1249
+ "pred"
1250
+ ]
1251
+ },
1252
+ {
1253
+ "cell_type": "code",
1254
+ "execution_count": 14,
1255
+ "id": "fc5b3c9a-dcb5-4bed-b13e-242814088108",
1256
+ "metadata": {},
1257
+ "outputs": [],
1258
+ "source": [
1259
+ "def mse(t1,t2):\n",
1260
+ " diff = t1 - t2\n",
1261
+ " return torch.sum(diff*diff) / torch.numel(t1)"
1262
+ ]
1263
+ },
1264
+ {
1265
+ "cell_type": "code",
1266
+ "execution_count": 15,
1267
+ "id": "23ed2b53-84cd-4a2e-9549-d73a598b0be6",
1268
+ "metadata": {},
1269
+ "outputs": [
1270
+ {
1271
+ "data": {
1272
+ "text/plain": [
1273
+ "tensor(57970.6367, grad_fn=<DivBackward0>)"
1274
+ ]
1275
+ },
1276
+ "execution_count": 15,
1277
+ "metadata": {},
1278
+ "output_type": "execute_result"
1279
+ }
1280
+ ],
1281
+ "source": [
1282
+ "loss = mse(pred, outputtens)\n",
1283
+ "loss"
1284
+ ]
1285
+ },
1286
+ {
1287
+ "cell_type": "code",
1288
+ "execution_count": 16,
1289
+ "id": "ad1199f1-df9d-476e-acd1-f8ecbe89cce2",
1290
+ "metadata": {},
1291
+ "outputs": [],
1292
+ "source": [
1293
+ "for i in range(100):\n",
1294
+ " pred = model(inputtens)\n",
1295
+ " loss = mse(pred, outputtens)\n",
1296
+ " loss.backward()\n",
1297
+ " with torch.no_grad(): \n",
1298
+ " w -= w.grad * 2e-4\n",
1299
+ " b -= b.grad * 2e-4\n",
1300
+ " w.grad.zero_()\n",
1301
+ " b.grad.zero_()"
1302
+ ]
1303
+ },
1304
+ {
1305
+ "cell_type": "code",
1306
+ "execution_count": 17,
1307
+ "id": "fa3f2fd0-cc3a-4931-8adf-56d19722d852",
1308
+ "metadata": {},
1309
+ "outputs": [
1310
+ {
1311
+ "name": "stdout",
1312
+ "output_type": "stream",
1313
+ "text": [
1314
+ "tensor(114.4077, grad_fn=<DivBackward0>)\n"
1315
+ ]
1316
+ }
1317
+ ],
1318
+ "source": [
1319
+ "pred = model(inputtens)\n",
1320
+ "loss = mse(pred, outputtens)\n",
1321
+ "print(loss)"
1322
+ ]
1323
+ },
1324
+ {
1325
+ "cell_type": "code",
1326
+ "execution_count": 18,
1327
+ "id": "7e0e4ee8-511f-45fd-932d-3082a1172709",
1328
+ "metadata": {},
1329
+ "outputs": [
1330
+ {
1331
+ "data": {
1332
+ "text/plain": [
1333
+ "tensor([[125.1754],\n",
1334
+ " [136.1499],\n",
1335
+ " [131.4568],\n",
1336
+ " [130.2610],\n",
1337
+ " [128.9485],\n",
1338
+ " [130.4274],\n",
1339
+ " [132.1239],\n",
1340
+ " [133.0117],\n",
1341
+ " [129.4037],\n",
1342
+ " [126.2214],\n",
1343
+ " [127.2480],\n",
1344
+ " [129.2422],\n",
1345
+ " [131.8459],\n",
1346
+ " [127.3166],\n",
1347
+ " [130.9858],\n",
1348
+ " [134.3638],\n",
1349
+ " [127.5776],\n",
1350
+ " [129.5063],\n",
1351
+ " [134.5216],\n",
1352
+ " [129.5342],\n",
1353
+ " [129.2016],\n",
1354
+ " [131.4581],\n",
1355
+ " [121.0875],\n",
1356
+ " [131.0246],\n",
1357
+ " [128.5677],\n",
1358
+ " [127.6688],\n",
1359
+ " [132.1186],\n",
1360
+ " [127.3107],\n",
1361
+ " [125.0828],\n",
1362
+ " [123.4758],\n",
1363
+ " [130.7115],\n",
1364
+ " [124.0536],\n",
1365
+ " [128.8047],\n",
1366
+ " [134.4165],\n",
1367
+ " [135.1792],\n",
1368
+ " [132.0418],\n",
1369
+ " [129.1515],\n",
1370
+ " [128.5912],\n",
1371
+ " [128.9141],\n",
1372
+ " [121.8138],\n",
1373
+ " [128.4187],\n",
1374
+ " [122.3198],\n",
1375
+ " [132.6506],\n",
1376
+ " [128.3546],\n",
1377
+ " [125.2199],\n",
1378
+ " [131.2361],\n",
1379
+ " [126.8143],\n",
1380
+ " [129.1789],\n",
1381
+ " [132.1524],\n",
1382
+ " [129.1079],\n",
1383
+ " [133.0335],\n",
1384
+ " [127.5386],\n",
1385
+ " [135.0224],\n",
1386
+ " [130.7703],\n",
1387
+ " [124.3378],\n",
1388
+ " [131.9883],\n",
1389
+ " [133.6958],\n",
1390
+ " [125.6749],\n",
1391
+ " [125.3628],\n",
1392
+ " [129.0986],\n",
1393
+ " [126.1933],\n",
1394
+ " [130.2064],\n",
1395
+ " [129.1526],\n",
1396
+ " [127.9934],\n",
1397
+ " [133.6176],\n",
1398
+ " [128.6935],\n",
1399
+ " [131.6912],\n",
1400
+ " [128.8528],\n",
1401
+ " [126.4961],\n",
1402
+ " [127.8406],\n",
1403
+ " [123.4364],\n",
1404
+ " [133.0281],\n",
1405
+ " [132.6889],\n",
1406
+ " [123.7374],\n",
1407
+ " [130.6334],\n",
1408
+ " [125.9329],\n",
1409
+ " [129.3138],\n",
1410
+ " [124.0793],\n",
1411
+ " [132.2475],\n",
1412
+ " [129.0144],\n",
1413
+ " [130.9311],\n",
1414
+ " [127.5793],\n",
1415
+ " [134.5893],\n",
1416
+ " [125.0369],\n",
1417
+ " [129.2533],\n",
1418
+ " [129.2506],\n",
1419
+ " [128.3400],\n",
1420
+ " [131.4812],\n",
1421
+ " [133.0461],\n",
1422
+ " [127.9176],\n",
1423
+ " [128.7942],\n",
1424
+ " [132.5045],\n",
1425
+ " [136.5497],\n",
1426
+ " [132.2383],\n",
1427
+ " [132.2143],\n",
1428
+ " [133.5707],\n",
1429
+ " [126.7289],\n",
1430
+ " [117.9190],\n",
1431
+ " [127.7433],\n",
1432
+ " [130.5798]], grad_fn=<AddBackward0>)"
1433
+ ]
1434
+ },
1435
+ "execution_count": 18,
1436
+ "metadata": {},
1437
+ "output_type": "execute_result"
1438
+ }
1439
+ ],
1440
+ "source": [
1441
+ "pred"
1442
+ ]
1443
+ },
1444
+ {
1445
+ "cell_type": "code",
1446
+ "execution_count": 19,
1447
+ "id": "2bf9f77f-46ab-4840-94e7-30aa56a8fdfe",
1448
+ "metadata": {},
1449
+ "outputs": [
1450
+ {
1451
+ "data": {
1452
+ "text/plain": [
1453
+ "tensor([[112.9925],\n",
1454
+ " [136.4873],\n",
1455
+ " [153.0269],\n",
1456
+ " [142.3354],\n",
1457
+ " [144.2971],\n",
1458
+ " [123.3024],\n",
1459
+ " [141.4947],\n",
1460
+ " [136.4623],\n",
1461
+ " [112.3723],\n",
1462
+ " [120.6672],\n",
1463
+ " [127.4516],\n",
1464
+ " [114.1430],\n",
1465
+ " [125.6107],\n",
1466
+ " [122.4618],\n",
1467
+ " [116.0866],\n",
1468
+ " [139.9975],\n",
1469
+ " [129.5023],\n",
1470
+ " [142.9733],\n",
1471
+ " [137.9025],\n",
1472
+ " [124.0449],\n",
1473
+ " [141.2807],\n",
1474
+ " [143.5392],\n",
1475
+ " [ 97.9019],\n",
1476
+ " [129.5027],\n",
1477
+ " [141.8501],\n",
1478
+ " [129.7244],\n",
1479
+ " [142.4235],\n",
1480
+ " [131.5502],\n",
1481
+ " [108.3324],\n",
1482
+ " [113.8922],\n",
1483
+ " [103.3016],\n",
1484
+ " [120.7536],\n",
1485
+ " [125.7886],\n",
1486
+ " [136.2225],\n",
1487
+ " [140.1015],\n",
1488
+ " [128.7487],\n",
1489
+ " [141.7994],\n",
1490
+ " [121.2319],\n",
1491
+ " [131.3478],\n",
1492
+ " [106.7115],\n",
1493
+ " [124.3598],\n",
1494
+ " [124.8591],\n",
1495
+ " [139.6711],\n",
1496
+ " [137.3696],\n",
1497
+ " [106.4499],\n",
1498
+ " [128.7639],\n",
1499
+ " [145.6837],\n",
1500
+ " [116.8190],\n",
1501
+ " [143.6215],\n",
1502
+ " [134.9325],\n",
1503
+ " [147.0219],\n",
1504
+ " [126.3285],\n",
1505
+ " [125.4839],\n",
1506
+ " [115.7084],\n",
1507
+ " [123.4892],\n",
1508
+ " [147.8926],\n",
1509
+ " [155.8987],\n",
1510
+ " [128.0742],\n",
1511
+ " [119.3701],\n",
1512
+ " [133.8148],\n",
1513
+ " [128.7325],\n",
1514
+ " [137.5453],\n",
1515
+ " [129.7604],\n",
1516
+ " [128.8240],\n",
1517
+ " [135.3165],\n",
1518
+ " [109.6113],\n",
1519
+ " [142.4684],\n",
1520
+ " [132.7490],\n",
1521
+ " [103.5275],\n",
1522
+ " [124.7299],\n",
1523
+ " [129.3137],\n",
1524
+ " [134.0175],\n",
1525
+ " [140.3969],\n",
1526
+ " [102.8351],\n",
1527
+ " [128.5214],\n",
1528
+ " [120.2991],\n",
1529
+ " [138.6036],\n",
1530
+ " [132.9574],\n",
1531
+ " [115.6233],\n",
1532
+ " [122.5240],\n",
1533
+ " [134.6254],\n",
1534
+ " [121.8986],\n",
1535
+ " [155.3767],\n",
1536
+ " [128.9418],\n",
1537
+ " [129.1013],\n",
1538
+ " [139.4733],\n",
1539
+ " [140.8901],\n",
1540
+ " [131.5916],\n",
1541
+ " [121.1232],\n",
1542
+ " [131.5127],\n",
1543
+ " [136.5479],\n",
1544
+ " [141.4896],\n",
1545
+ " [140.6104],\n",
1546
+ " [112.1413],\n",
1547
+ " [133.4570],\n",
1548
+ " [131.8001],\n",
1549
+ " [120.0285],\n",
1550
+ " [123.0972],\n",
1551
+ " [128.1432],\n",
1552
+ " [115.4759]])"
1553
+ ]
1554
+ },
1555
+ "execution_count": 19,
1556
+ "metadata": {},
1557
+ "output_type": "execute_result"
1558
+ }
1559
+ ],
1560
+ "source": [
1561
+ "outputtens"
1562
+ ]
1563
+ },
1564
+ {
1565
+ "cell_type": "code",
1566
+ "execution_count": 20,
1567
+ "id": "847109cf-7a80-42b8-86a4-fe739637d80c",
1568
+ "metadata": {},
1569
+ "outputs": [],
1570
+ "source": [
1571
+ "import torch.nn as nn"
1572
+ ]
1573
+ },
1574
+ {
1575
+ "cell_type": "code",
1576
+ "execution_count": 21,
1577
+ "id": "2409fab5-cbd7-4fa4-9c50-7cdb56c04442",
1578
+ "metadata": {},
1579
+ "outputs": [],
1580
+ "source": [
1581
+ "from torch.utils.data import TensorDataset"
1582
+ ]
1583
+ },
1584
+ {
1585
+ "cell_type": "code",
1586
+ "execution_count": 22,
1587
+ "id": "28bf033e-3755-48aa-b9e7-c98a69999468",
1588
+ "metadata": {},
1589
+ "outputs": [
1590
+ {
1591
+ "data": {
1592
+ "text/plain": [
1593
+ "(tensor([[65.7833],\n",
1594
+ " [71.5152],\n",
1595
+ " [69.3987]]),\n",
1596
+ " tensor([[112.9925],\n",
1597
+ " [136.4873],\n",
1598
+ " [153.0269]]))"
1599
+ ]
1600
+ },
1601
+ "execution_count": 22,
1602
+ "metadata": {},
1603
+ "output_type": "execute_result"
1604
+ }
1605
+ ],
1606
+ "source": [
1607
+ "#Define dataset\n",
1608
+ "train_ds = TensorDataset(inputtens, outputtens)\n",
1609
+ "train_ds[0:3]"
1610
+ ]
1611
+ },
1612
+ {
1613
+ "cell_type": "code",
1614
+ "execution_count": 23,
1615
+ "id": "fe4d61cd-9774-42f1-873b-ee04d44cb2ad",
1616
+ "metadata": {},
1617
+ "outputs": [],
1618
+ "source": [
1619
+ "from torch.utils.data import DataLoader"
1620
+ ]
1621
+ },
1622
+ {
1623
+ "cell_type": "code",
1624
+ "execution_count": 24,
1625
+ "id": "e943b0a1-370d-4377-b05c-ff947d44e8b1",
1626
+ "metadata": {},
1627
+ "outputs": [],
1628
+ "source": [
1629
+ "batch_size = 20\n",
1630
+ "train_dl = DataLoader(train_ds,batch_size,shuffle =True)"
1631
+ ]
1632
+ },
1633
+ {
1634
+ "cell_type": "code",
1635
+ "execution_count": 25,
1636
+ "id": "1d0c093b-65ff-46dc-931b-96c8db8104ec",
1637
+ "metadata": {},
1638
+ "outputs": [
1639
+ {
1640
+ "name": "stdout",
1641
+ "output_type": "stream",
1642
+ "text": [
1643
+ "tensor([[69.7195],\n",
1644
+ " [68.1293],\n",
1645
+ " [68.3627],\n",
1646
+ " [69.9148],\n",
1647
+ " [65.7833],\n",
1648
+ " [71.0916],\n",
1649
+ " [67.2157],\n",
1650
+ " [66.4877],\n",
1651
+ " [69.2020],\n",
1652
+ " [68.8788],\n",
1653
+ " [67.3318],\n",
1654
+ " [68.2195],\n",
1655
+ " [67.6589],\n",
1656
+ " [68.5746],\n",
1657
+ " [70.0147],\n",
1658
+ " [69.5233],\n",
1659
+ " [66.7671],\n",
1660
+ " [67.7878],\n",
1661
+ " [67.6987],\n",
1662
+ " [70.0515]])\n",
1663
+ "tensor([[115.6233],\n",
1664
+ " [136.5479],\n",
1665
+ " [138.6036],\n",
1666
+ " [147.0219],\n",
1667
+ " [112.9925],\n",
1668
+ " [139.9975],\n",
1669
+ " [103.5275],\n",
1670
+ " [127.4516],\n",
1671
+ " [129.1013],\n",
1672
+ " [143.5392],\n",
1673
+ " [126.3285],\n",
1674
+ " [109.6113],\n",
1675
+ " [121.2319],\n",
1676
+ " [124.3598],\n",
1677
+ " [136.4623],\n",
1678
+ " [103.3016],\n",
1679
+ " [128.1432],\n",
1680
+ " [144.2971],\n",
1681
+ " [116.8190],\n",
1682
+ " [155.3767]])\n"
1683
+ ]
1684
+ }
1685
+ ],
1686
+ "source": [
1687
+ "for xb,yb in train_dl:\n",
1688
+ " print(xb)\n",
1689
+ " print(yb)\n",
1690
+ " break"
1691
+ ]
1692
+ },
1693
+ {
1694
+ "cell_type": "code",
1695
+ "execution_count": 26,
1696
+ "id": "5ead94c8-1cdd-469f-aaa8-f9ee06c84116",
1697
+ "metadata": {},
1698
+ "outputs": [
1699
+ {
1700
+ "name": "stdout",
1701
+ "output_type": "stream",
1702
+ "text": [
1703
+ "Parameter containing:\n",
1704
+ "tensor([[-0.3148]], requires_grad=True)\n",
1705
+ "Parameter containing:\n",
1706
+ "tensor([0.9556], requires_grad=True)\n"
1707
+ ]
1708
+ }
1709
+ ],
1710
+ "source": [
1711
+ "#define model \n",
1712
+ "model = nn.Linear(1,1)\n",
1713
+ "print(model.weight)\n",
1714
+ "print(model.bias)"
1715
+ ]
1716
+ },
1717
+ {
1718
+ "cell_type": "code",
1719
+ "execution_count": 27,
1720
+ "id": "4766750a-6ca9-4ebb-ae47-8f614b6dcc17",
1721
+ "metadata": {},
1722
+ "outputs": [
1723
+ {
1724
+ "data": {
1725
+ "text/plain": [
1726
+ "[Parameter containing:\n",
1727
+ " tensor([[-0.3148]], requires_grad=True),\n",
1728
+ " Parameter containing:\n",
1729
+ " tensor([0.9556], requires_grad=True)]"
1730
+ ]
1731
+ },
1732
+ "execution_count": 27,
1733
+ "metadata": {},
1734
+ "output_type": "execute_result"
1735
+ }
1736
+ ],
1737
+ "source": [
1738
+ "list(model.parameters())"
1739
+ ]
1740
+ },
1741
+ {
1742
+ "cell_type": "code",
1743
+ "execution_count": 28,
1744
+ "id": "14f6de56-463e-4b38-9364-0908781d5c04",
1745
+ "metadata": {},
1746
+ "outputs": [
1747
+ {
1748
+ "data": {
1749
+ "text/plain": [
1750
+ "tensor([[-19.7557],\n",
1751
+ " [-21.5603],\n",
1752
+ " [-20.8940],\n",
1753
+ " [-20.5218],\n",
1754
+ " [-20.3868],\n",
1755
+ " [-20.6733],\n",
1756
+ " [-21.0210],\n",
1757
+ " [-21.0879],\n",
1758
+ " [-20.4230],\n",
1759
+ " [-20.0702],\n",
1760
+ " [-19.9775],\n",
1761
+ " [-20.3350],\n",
1762
+ " [-20.5488],\n",
1763
+ " [-20.1755],\n",
1764
+ " [-20.5417],\n",
1765
+ " [-21.4270],\n",
1766
+ " [-19.9691],\n",
1767
+ " [-20.6580],\n",
1768
+ " [-21.4707],\n",
1769
+ " [-20.1801],\n",
1770
+ " [-20.4013],\n",
1771
+ " [-20.7303],\n",
1772
+ " [-19.0309],\n",
1773
+ " [-20.5864],\n",
1774
+ " [-20.3365],\n",
1775
+ " [-20.2045],\n",
1776
+ " [-21.3485],\n",
1777
+ " [-20.2944],\n",
1778
+ " [-19.9921],\n",
1779
+ " [-19.6479],\n",
1780
+ " [-20.9332],\n",
1781
+ " [-19.7651],\n",
1782
+ " [-20.3958],\n",
1783
+ " [-21.2706],\n",
1784
+ " [-21.6515],\n",
1785
+ " [-20.8334],\n",
1786
+ " [-20.0770],\n",
1787
+ " [-20.3462],\n",
1788
+ " [-20.3928],\n",
1789
+ " [-19.2085],\n",
1790
+ " [-20.6345],\n",
1791
+ " [-19.5669],\n",
1792
+ " [-20.9757],\n",
1793
+ " [-20.4433],\n",
1794
+ " [-19.8179],\n",
1795
+ " [-20.6653],\n",
1796
+ " [-20.1013],\n",
1797
+ " [-20.3587],\n",
1798
+ " [-21.0270],\n",
1799
+ " [-20.7962],\n",
1800
+ " [-21.0565],\n",
1801
+ " [-20.2432],\n",
1802
+ " [-21.1681],\n",
1803
+ " [-20.8010],\n",
1804
+ " [-19.6298],\n",
1805
+ " [-21.1414],\n",
1806
+ " [-21.2112],\n",
1807
+ " [-19.9951],\n",
1808
+ " [-19.9386],\n",
1809
+ " [-20.3078],\n",
1810
+ " [-19.9827],\n",
1811
+ " [-20.7683],\n",
1812
+ " [-20.5492],\n",
1813
+ " [-20.1427],\n",
1814
+ " [-21.3370],\n",
1815
+ " [-20.5227],\n",
1816
+ " [-20.7871],\n",
1817
+ " [-20.3689],\n",
1818
+ " [-20.2067],\n",
1819
+ " [-20.2545],\n",
1820
+ " [-19.5942],\n",
1821
+ " [-21.3486],\n",
1822
+ " [-21.0595],\n",
1823
+ " [-19.2840],\n",
1824
+ " [-20.5308],\n",
1825
+ " [-19.9364],\n",
1826
+ " [-20.5678],\n",
1827
+ " [-19.6592],\n",
1828
+ " [-20.9950],\n",
1829
+ " [-20.3672],\n",
1830
+ " [-20.6549],\n",
1831
+ " [-20.0708],\n",
1832
+ " [-21.0995],\n",
1833
+ " [-19.9116],\n",
1834
+ " [-20.8320],\n",
1835
+ " [-20.8109],\n",
1836
+ " [-20.2535],\n",
1837
+ " [-21.1126],\n",
1838
+ " [-21.1389],\n",
1839
+ " [-20.5246],\n",
1840
+ " [-20.4943],\n",
1841
+ " [-21.1597],\n",
1842
+ " [-21.5516],\n",
1843
+ " [-20.8329],\n",
1844
+ " [-21.1031],\n",
1845
+ " [-21.2587],\n",
1846
+ " [-19.9141],\n",
1847
+ " [-19.0135],\n",
1848
+ " [-20.0654],\n",
1849
+ " [-20.7330]], grad_fn=<AddmmBackward0>)"
1850
+ ]
1851
+ },
1852
+ "execution_count": 28,
1853
+ "metadata": {},
1854
+ "output_type": "execute_result"
1855
+ }
1856
+ ],
1857
+ "source": [
1858
+ "pred = model(inputtens)\n",
1859
+ "pred"
1860
+ ]
1861
+ },
1862
+ {
1863
+ "cell_type": "code",
1864
+ "execution_count": 29,
1865
+ "id": "634982b0-8960-4c80-badb-aa57c9c7ba1a",
1866
+ "metadata": {},
1867
+ "outputs": [],
1868
+ "source": [
1869
+ "import torch.nn.functional as F"
1870
+ ]
1871
+ },
1872
+ {
1873
+ "cell_type": "code",
1874
+ "execution_count": 30,
1875
+ "id": "3bd3cc25-9b97-4432-b91d-222d40c4b8c6",
1876
+ "metadata": {},
1877
+ "outputs": [],
1878
+ "source": [
1879
+ "loss_fn = F.mse_loss"
1880
+ ]
1881
+ },
1882
+ {
1883
+ "cell_type": "code",
1884
+ "execution_count": 31,
1885
+ "id": "e54d013c-58cc-4355-aa49-864ea696dd01",
1886
+ "metadata": {},
1887
+ "outputs": [
1888
+ {
1889
+ "data": {
1890
+ "text/plain": [
1891
+ "tensor(22565.3145, grad_fn=<MseLossBackward0>)"
1892
+ ]
1893
+ },
1894
+ "execution_count": 31,
1895
+ "metadata": {},
1896
+ "output_type": "execute_result"
1897
+ }
1898
+ ],
1899
+ "source": [
1900
+ "loss = loss_fn(model(inputtens),outputtens)\n",
1901
+ "loss"
1902
+ ]
1903
+ },
1904
+ {
1905
+ "cell_type": "code",
1906
+ "execution_count": 32,
1907
+ "id": "37477f67-1d2f-45b9-993b-0f6494ca251a",
1908
+ "metadata": {},
1909
+ "outputs": [],
1910
+ "source": [
1911
+ "opt = torch.optim.SGD(model.parameters(),lr=1e-5)"
1912
+ ]
1913
+ },
1914
+ {
1915
+ "cell_type": "code",
1916
+ "execution_count": 33,
1917
+ "id": "bd1f13b3-7009-4daf-a569-e4650584a618",
1918
+ "metadata": {},
1919
+ "outputs": [],
1920
+ "source": [
1921
+ "def fit(num_epochs, model, loss_fn, opt, train_dl):\n",
1922
+ " for epoch in range(num_epochs):\n",
1923
+ " for xb,yb in train_dl:\n",
1924
+ " pred = model(xb)\n",
1925
+ " loss = loss_fn(pred,yb)\n",
1926
+ " loss.backward()\n",
1927
+ " opt.step()\n",
1928
+ " opt.zero_grad()\n",
1929
+ " if(epoch+1)%10 == 0:\n",
1930
+ " print('Epoch [{}/{} Loss: {:.4f}'.format(epoch+1, num_epochs,loss.item()))"
1931
+ ]
1932
+ },
1933
+ {
1934
+ "cell_type": "code",
1935
+ "execution_count": 34,
1936
+ "id": "8f2e0973-31c8-4879-9108-89d418d1b056",
1937
+ "metadata": {},
1938
+ "outputs": [
1939
+ {
1940
+ "name": "stdout",
1941
+ "output_type": "stream",
1942
+ "text": [
1943
+ "Epoch [10/100 Loss: 95.5826\n",
1944
+ "Epoch [20/100 Loss: 135.4428\n",
1945
+ "Epoch [30/100 Loss: 112.6919\n",
1946
+ "Epoch [40/100 Loss: 84.2813\n",
1947
+ "Epoch [50/100 Loss: 77.5900\n",
1948
+ "Epoch [60/100 Loss: 99.5134\n",
1949
+ "Epoch [70/100 Loss: 68.5490\n",
1950
+ "Epoch [80/100 Loss: 84.0584\n",
1951
+ "Epoch [90/100 Loss: 119.4308\n",
1952
+ "Epoch [100/100 Loss: 152.1199\n"
1953
+ ]
1954
+ }
1955
+ ],
1956
+ "source": [
1957
+ "fit(100,model,loss_fn,opt,train_dl)"
1958
+ ]
1959
+ },
1960
+ {
1961
+ "cell_type": "code",
1962
+ "execution_count": 69,
1963
+ "id": "404b257b-45fb-4f0b-a399-64b76a252c39",
1964
+ "metadata": {},
1965
+ "outputs": [],
1966
+ "source": [
1967
+ "height = 167\n",
1968
+ "height = height/2.5"
1969
+ ]
1970
+ },
1971
+ {
1972
+ "cell_type": "code",
1973
+ "execution_count": 70,
1974
+ "id": "bf1b548a-8b84-4f8e-9c5e-bfe171bd6cb0",
1975
+ "metadata": {},
1976
+ "outputs": [
1977
+ {
1978
+ "data": {
1979
+ "text/plain": [
1980
+ "tensor([[57.5882]], grad_fn=<MulBackward0>)"
1981
+ ]
1982
+ },
1983
+ "execution_count": 70,
1984
+ "metadata": {},
1985
+ "output_type": "execute_result"
1986
+ }
1987
+ ],
1988
+ "source": [
1989
+ "ans = model(torch.tensor([[height]]))\n",
1990
+ "ans = ans*0.453592\n",
1991
+ "ans"
1992
+ ]
1993
+ }
1994
+ ],
1995
+ "metadata": {
1996
+ "kernelspec": {
1997
+ "display_name": "Python 3 (ipykernel)",
1998
+ "language": "python",
1999
+ "name": "python3"
2000
+ },
2001
+ "language_info": {
2002
+ "codemirror_mode": {
2003
+ "name": "ipython",
2004
+ "version": 3
2005
+ },
2006
+ "file_extension": ".py",
2007
+ "mimetype": "text/x-python",
2008
+ "name": "python",
2009
+ "nbconvert_exporter": "python",
2010
+ "pygments_lexer": "ipython3",
2011
+ "version": "3.12.0"
2012
+ }
2013
+ },
2014
+ "nbformat": 4,
2015
+ "nbformat_minor": 5
2016
+ }