1
00:00:00,270 --> 00:00:07,650
Now as we go ahead with building these models and then training them, you may sometimes wonder why

2
00:00:07,650 --> 00:00:14,730
this Value six, for example, was picked, why the the channel size three was picked, maybe why the

3
00:00:14,730 --> 00:00:15,690
16 was picked.

4
00:00:15,690 --> 00:00:17,880
Here's why 100 was picked.

5
00:00:17,880 --> 00:00:19,590
Why not say 32?

6
00:00:19,590 --> 00:00:22,260
Why not say a value like 100 year?

7
00:00:22,260 --> 00:00:24,690
Why are these values were picked?

8
00:00:24,690 --> 00:00:29,100
And then looking at the drop out rate, what makes us pick a given dropout rate?

9
00:00:29,100 --> 00:00:32,940
What makes us pick a given regularization rate, and so on and so forth.

10
00:00:34,140 --> 00:00:40,200
Now, although in this particular case we're building this model based on the net model, which is something

11
00:00:40,200 --> 00:00:47,150
like a model which has already been built and tested, we will see another technique known as the hyper

12
00:00:47,190 --> 00:00:54,270
parameter tuning where it will be able to select the best values for this different hyper parameters

13
00:00:54,270 --> 00:00:55,310
automatically.

14
00:00:55,320 --> 00:01:00,200
Now, this hyper parameters must not be only this which we've picked out here.

15
00:01:00,210 --> 00:01:07,980
We could also have hyper parameters like the learning rate, like even the choice of this optimizer,

16
00:01:07,980 --> 00:01:09,390
and so on and so forth.

17
00:01:09,390 --> 00:01:19,140
And this way of deciding this best parameters for our model and model training is known as hyper parameter

18
00:01:19,140 --> 00:01:19,860
tuning.

19
00:01:19,890 --> 00:01:25,550
Now we're going to see how to do or carry out hyper parameter tuning with Tensor Bar.

20
00:01:25,560 --> 00:01:32,790
So your first and first, we carry out this in parts we have from tensor bot plugins, H params hyper

21
00:01:32,790 --> 00:01:33,690
parameters.

22
00:01:33,690 --> 00:01:37,140
We're going to import API as HP.

23
00:01:37,170 --> 00:01:42,660
Then right here we are going to redefine this model or we're going to restructure it.

24
00:01:42,660 --> 00:01:50,430
So instead of having just the regularization rate drop our rate given to us like this, what are we

25
00:01:50,460 --> 00:01:52,410
going to have here is yours.

26
00:01:52,410 --> 00:02:03,320
For example, instead of having this drop out rate, we have HP Rams and then we'll have HP drop out.

27
00:02:03,330 --> 00:02:10,440
And the aim of this process is to ensure that if we have this, suppose we have this model here and

28
00:02:10,440 --> 00:02:14,040
then after training we have an output and accuracy.

29
00:02:14,040 --> 00:02:21,600
We want to be able to modify the parameters which make up this model and see how they affect the accuracy

30
00:02:21,600 --> 00:02:27,690
such that we are going to pick out the best parameters or are we going to pick out the parameters which

31
00:02:27,690 --> 00:02:31,200
parameters get the best possible accuracy?

32
00:02:31,200 --> 00:02:38,820
So that said, instead of having the dropout, we just have this variable drop out and then for the

33
00:02:38,820 --> 00:02:40,710
regularization, we're going to do same.

34
00:02:40,710 --> 00:02:47,940
So you're going to have h params instead of regularization rate, we're going to have this and then

35
00:02:47,940 --> 00:02:51,730
we have HP regularization rate.

36
00:02:51,750 --> 00:02:59,490
Then apart from this regularization rate and drop out hyper parameters, we are going to include just

37
00:02:59,490 --> 00:03:00,210
right here.

38
00:03:00,210 --> 00:03:01,350
Let's start with this one.

39
00:03:01,350 --> 00:03:03,480
So let's copy out this.

40
00:03:03,480 --> 00:03:09,330
We have h params and then we have HP number of units.

41
00:03:09,330 --> 00:03:15,450
So here we have number of units and then we'll call this one because just after this we're going to

42
00:03:15,450 --> 00:03:17,020
have a number of units two.

43
00:03:17,040 --> 00:03:25,380
So here we are going to be able to pick out the best possible values for this hyper parameter here.

44
00:03:25,380 --> 00:03:27,840
So let's have this here to OC.

45
00:03:27,900 --> 00:03:28,590
So that's it.

46
00:03:29,040 --> 00:03:33,570
The other hyper parameters will be included when doing the model compilation.

47
00:03:33,570 --> 00:03:39,000
So let's include this model compilation and then we're going to carry out the training in here.

48
00:03:39,000 --> 00:03:43,800
So we have this, let's take out the summary and then take this back.

49
00:03:43,800 --> 00:03:45,210
Okay, So that's it.

50
00:03:45,210 --> 00:03:50,280
Now we have this model completion right here and then we have the optimizer.

51
00:03:50,280 --> 00:03:52,860
But what we're going to do here is we're going to fix this optimizer.

52
00:03:52,860 --> 00:03:58,200
So we're going to have the Item optimizer and then we'll specify the learning rate to be params.

53
00:03:58,200 --> 00:04:03,840
And then we have your HP learning rate learning rate.

54
00:04:03,870 --> 00:04:05,880
Okay, So there we go.

55
00:04:05,880 --> 00:04:07,140
This looks fine.

56
00:04:07,380 --> 00:04:13,560
We have the last binary cross entropy matrix accuracy, and then we do the model training.

57
00:04:13,560 --> 00:04:20,040
So once we do this model training, we are going to get the accuracy that we're going to train the model,

58
00:04:20,040 --> 00:04:27,000
we're going to evaluate the model, we obtain the accuracy and then tensor by will parameters, modify

59
00:04:27,000 --> 00:04:34,920
all these different parameters such that we now get the parameters or the specific values which parameters

60
00:04:34,920 --> 00:04:37,070
maximizes accuracy.

61
00:04:37,080 --> 00:04:42,060
So here we're going to create a function which is going to return the accuracy.

62
00:04:42,060 --> 00:04:45,840
Let's have this to the right and that's it.

63
00:04:45,840 --> 00:04:54,110
We have this method which will call model tune, call it model tune, and then it's going to take h

64
00:04:54,120 --> 00:04:59,670
params, so it's going to take this h params and then it's going to like take different value for each

65
00:04:59,670 --> 00:05:00,450
params.

66
00:05:00,450 --> 00:05:07,530
And then based on the accuracy, we're going to know after these different training steps which values

67
00:05:07,530 --> 00:05:11,730
for this hyper parameters best gives us the best results.

68
00:05:11,730 --> 00:05:12,570
So that's it.

69
00:05:12,570 --> 00:05:16,580
We have that and then we return the accuracy right here.

70
00:05:16,590 --> 00:05:21,720
Then we're going to define the range of values this different hyper parameters can take.

71
00:05:21,720 --> 00:05:24,660
So like this one, let's copy this out.

72
00:05:24,660 --> 00:05:30,060
Let's say we want to get this HP number of units one PCs out here.

73
00:05:30,150 --> 00:05:33,420
We're going to have HP Dot.

74
00:05:34,290 --> 00:05:36,840
HP prompts.

75
00:05:37,020 --> 00:05:38,160
There we go.

76
00:05:38,160 --> 00:05:40,830
And then we have.

77
00:05:42,040 --> 00:05:43,420
The name specified.

78
00:05:43,420 --> 00:05:49,900
So we have a number of units, one and we also specify now this range.

79
00:05:49,900 --> 00:05:52,060
So we have that discrete.

80
00:05:52,060 --> 00:06:00,930
So let's have discrete and then let's say we want to pick out those values between the range, say 10

81
00:06:00,930 --> 00:06:02,470
to 100.

82
00:06:02,650 --> 00:06:05,700
Now let's, let's take this powers of two.

83
00:06:05,710 --> 00:06:11,620
So we have 1630 to 64 or 128.

84
00:06:12,220 --> 00:06:14,530
So that's it for the first.

85
00:06:14,530 --> 00:06:17,830
And then for this next one, we have two right here.

86
00:06:18,340 --> 00:06:19,330
Let's have that.

87
00:06:19,330 --> 00:06:21,010
And yeah, units two.

88
00:06:21,040 --> 00:06:21,910
There we go.

89
00:06:21,910 --> 00:06:22,570
We have that.

90
00:06:22,570 --> 00:06:24,610
Fine, let's copy this again.

91
00:06:24,610 --> 00:06:27,040
And then we repeat the same for the dropout.

92
00:06:27,040 --> 00:06:29,290
So here we have dropout.

93
00:06:29,320 --> 00:06:36,730
Take this off, and then here we have drop out for the drop out.

94
00:06:36,730 --> 00:06:45,570
We're going to take our values between 0.10.2, 0.3 and 0.4.

95
00:06:45,580 --> 00:06:48,850
Anyway, let's let's say we want to take between 0.1 and 0.3.

96
00:06:48,850 --> 00:06:52,690
And then from the dropout, we have the regularization rate.

97
00:06:52,690 --> 00:06:56,140
So make sure you see that we taking typical values.

98
00:06:56,140 --> 00:07:01,660
So you have typical values for this number of units will be this and for the dropout will be this for

99
00:07:01,660 --> 00:07:03,070
the regularization.

100
00:07:03,070 --> 00:07:09,130
Regularization rates will have different range of typical values.

101
00:07:09,130 --> 00:07:10,540
So here we will have

102
00:07:10,540 --> 00:07:18,430
0.0060.0010.01, and then let's say 0.1.

103
00:07:18,430 --> 00:07:19,360
So that's it.

104
00:07:20,020 --> 00:07:20,800
What's next?

105
00:07:20,800 --> 00:07:24,610
We have the learning rate, so let's copy this out.

106
00:07:24,640 --> 00:07:33,850
HP learning rates here we have one E, negative four one E, negative three.

107
00:07:34,420 --> 00:07:37,630
So that's it for the learning rate and that should be all.

108
00:07:37,630 --> 00:07:40,810
So we have nothing left actually.

109
00:07:40,810 --> 00:07:41,740
So that's fine.

110
00:07:41,740 --> 00:07:42,850
So there we go.

111
00:07:42,850 --> 00:07:44,800
We've defined all these different ranges.

112
00:07:44,800 --> 00:07:49,690
So we are going to search in this range, search in this range search and this range.

113
00:07:49,690 --> 00:07:51,750
Search in this range, Search in this range.

114
00:07:51,760 --> 00:07:55,720
Now notice that we this is actually this actually discrete value.

115
00:07:55,720 --> 00:07:59,830
So it's not like we're going to pick between this value and this value.

116
00:07:59,830 --> 00:08:06,310
We're just going to basically pick this value or this value or this value or this other value.

117
00:08:06,310 --> 00:08:17,500
And now to perform this great search, we are going to go for number of units, one in this range specified

118
00:08:17,500 --> 00:08:17,890
here.

119
00:08:17,890 --> 00:08:30,220
So we're going to have in HP non units one there we go, that domain dot values.

120
00:08:30,370 --> 00:08:32,020
Here we have values.

121
00:08:32,710 --> 00:08:33,790
There we go.

122
00:08:33,790 --> 00:08:35,800
And then we're going to do the same for this.

123
00:08:35,800 --> 00:08:51,820
So we have four NUM units, two in HP non units, non units, two dot domain dot values and then for

124
00:08:53,110 --> 00:09:00,550
the dropout rate and then the regularization rate in the regularization domain learning rate and the

125
00:09:00,550 --> 00:09:07,330
learning rate domain, we are now going to create this h params dictionary.

126
00:09:07,330 --> 00:09:14,200
So we have h params right here which is going to be our dictionary and it's going to contain the different

127
00:09:14,200 --> 00:09:15,160
values here.

128
00:09:15,160 --> 00:09:24,940
So we'll start with this HP NOM units one and then what we get or what we're going to put in here is

129
00:09:24,940 --> 00:09:26,980
this value we have here.

130
00:09:26,980 --> 00:09:30,790
So the value we pick from this domain is what we're going to pass in here.

131
00:09:30,790 --> 00:09:37,060
So we have NUM units, one, one, there we go.

132
00:09:37,060 --> 00:09:38,950
We now repeat the same process.

133
00:09:38,950 --> 00:09:43,330
So we just have your two and then the rest.

134
00:09:43,330 --> 00:09:46,360
And there we go, we have the remaining parameters.

135
00:09:46,360 --> 00:09:50,350
And then from here we are going to create a file writer.

136
00:09:50,350 --> 00:09:56,680
So for each run, because here we're going to have different runs for the different values.

137
00:09:56,680 --> 00:10:01,720
So for each run, we're going to define the file writer.

138
00:10:01,720 --> 00:10:10,510
So here we have the file writer to summary create file writer, just as we've seen already.

139
00:10:10,510 --> 00:10:14,770
So here we have the file writer and then we specify this directory.

140
00:10:14,770 --> 00:10:21,220
Now we want the directory to have different names based on the exact run number.

141
00:10:21,220 --> 00:10:25,510
So yes, we want to have run number here, which we initialize to zero.

142
00:10:25,510 --> 00:10:27,520
And then we have this.

143
00:10:27,520 --> 00:10:32,110
So let's have this lock's slash.

144
00:10:32,410 --> 00:10:36,190
Let's just put in the run number in your string.

145
00:10:36,370 --> 00:10:38,110
We have the run number.

146
00:10:38,710 --> 00:10:39,400
So that's it.

147
00:10:39,400 --> 00:10:41,290
We have that and then.

148
00:10:42,180 --> 00:10:49,200
After each and every run, we want to increment this run number.

149
00:10:49,200 --> 00:10:58,470
So yeah, we're going to increment the run number, run number, equal run plus equal one plus equal

150
00:10:58,470 --> 00:10:59,020
one.

151
00:10:59,060 --> 00:11:00,480
Okay, so that's it.

152
00:11:00,510 --> 00:11:03,270
Now, we've defined this file writer.

153
00:11:03,270 --> 00:11:04,560
That looks fine.

154
00:11:05,340 --> 00:11:11,010
Next thing we want to do is with this file writer.

155
00:11:12,510 --> 00:11:14,340
As default.

156
00:11:14,910 --> 00:11:22,470
So we have this default as default will now log into current hyper parameters.

157
00:11:22,470 --> 00:11:31,440
So we have HP dot h params and then we pass in this current hyper parameters recall, we are going to

158
00:11:31,440 --> 00:11:39,030
sweep through all these different values and then for a particular round one to know exactly what we're

159
00:11:39,030 --> 00:11:41,370
passing in and that's what we're going to pass in here.

160
00:11:41,370 --> 00:11:44,040
So we have h params, that's fine.

161
00:11:44,040 --> 00:11:51,450
And then once we've passed, once we've notified tensor bot that this is the parameters or the hyper

162
00:11:51,450 --> 00:11:53,010
parameters we're working with.

163
00:11:53,040 --> 00:11:59,430
The next thing we want to do is to pass this hyper parameters in this model tune method right here.

164
00:11:59,430 --> 00:12:01,440
So here we're going to pass in.

165
00:12:01,440 --> 00:12:07,980
Now this params, this parameter which we just defined here, which is a function of this different

166
00:12:07,980 --> 00:12:10,830
values we are going to be sweeping through.

167
00:12:10,830 --> 00:12:16,110
So yeah, we're going to have model turn, model, turn.

168
00:12:17,830 --> 00:12:24,220
Which is going to take into pyramids and then is going to output like from yours is going to output

169
00:12:24,220 --> 00:12:25,420
this accuracy.

170
00:12:25,420 --> 00:12:27,760
So yeah, we're going to have the accuracy.

171
00:12:27,760 --> 00:12:34,900
So we have the accuracy, which is that then once we get this accuracy, we are going to log in as value.

172
00:12:34,900 --> 00:12:43,360
So we have TF summary scaler, so log in the scalar accuracy, accuracy, and then we have the accuracy

173
00:12:43,360 --> 00:12:44,560
value locked in.

174
00:12:44,560 --> 00:12:45,730
So that looks fine.

175
00:12:45,730 --> 00:12:47,080
We have this run number.

176
00:12:47,080 --> 00:12:48,880
Why do we have a red here?

177
00:12:50,500 --> 00:12:54,490
That's actually okay now, so let's get back to this now.

178
00:12:54,490 --> 00:12:56,950
We could run this cell.

179
00:12:56,950 --> 00:12:59,350
We run the cell.

180
00:12:59,620 --> 00:13:00,700
Everything looks fine.

181
00:13:00,700 --> 00:13:07,480
And then we now go straight into this hyper parameter tuning where we are going to peak out the best

182
00:13:07,480 --> 00:13:13,600
values for our hyper parameters, which actually give us the best accuracy.

183
00:13:13,600 --> 00:13:22,210
So for each step now we want to say, print out this, so we'll print out the Rams.

184
00:13:22,210 --> 00:13:30,250
So our H per Rams is so we have H per Rams.

185
00:13:30,250 --> 00:13:31,330
There we go.

186
00:13:31,330 --> 00:13:36,130
And then we also want to print out the current run number.

187
00:13:36,130 --> 00:13:49,350
So what we're going to have here is the H per Rams or for the run let's specify the run number H per

188
00:13:49,360 --> 00:13:49,780
Rams.

189
00:13:49,780 --> 00:13:54,700
Is that so our parameters this and then we format.

190
00:13:54,700 --> 00:13:59,470
So we have that and then we have the run number.

191
00:13:59,710 --> 00:14:00,610
There we go.

192
00:14:00,610 --> 00:14:05,380
So let's have this year and then I'll run this cell.

193
00:14:05,380 --> 00:14:14,230
So yes, what we get, we also modified this code here to contain each and every value in this params.

194
00:14:14,230 --> 00:14:24,070
So we get this kind of output and we, we make this run for like let's count this for like 287 times.

195
00:14:24,070 --> 00:14:26,470
So we have 287 different runs.

196
00:14:26,470 --> 00:14:31,800
And then from here we run the cell and then run this two.

197
00:14:31,810 --> 00:14:34,220
So from here we have the killers.

198
00:14:35,170 --> 00:14:36,910
You are the different accuracies we get.

199
00:14:36,910 --> 00:14:37,420
Anyway.

200
00:14:37,420 --> 00:14:43,870
We're not very much interested in this for now because we're interested in looking at this h params

201
00:14:43,870 --> 00:14:44,320
here.

202
00:14:44,320 --> 00:14:46,120
Now let's start with this table view.

203
00:14:46,150 --> 00:14:53,110
You can see here that with this table view we could see the different values, the different hyper parameters

204
00:14:53,110 --> 00:14:57,220
we make use of, or we, we tuned throughout this process.

205
00:14:57,220 --> 00:15:01,660
So you could see that scroll up a little here.

206
00:15:01,660 --> 00:15:09,430
You see we have the regularization rate number of units drop out rate, and then let's scroll down again

207
00:15:09,430 --> 00:15:11,050
and then go this way.

208
00:15:11,350 --> 00:15:17,260
You have okay, so we have a number of units to learning rate and then the accuracy.

209
00:15:17,260 --> 00:15:25,660
So you see here that the accuracy changes based on the different values we have for this different hyper

210
00:15:25,660 --> 00:15:26,740
parameters here.

211
00:15:26,740 --> 00:15:31,000
Now, another better way of looking at this is it's parallel causing this view.

212
00:15:31,030 --> 00:15:37,150
As you can see in this parallel, according to this view, you get to like pick out the the highest

213
00:15:37,150 --> 00:15:38,260
accuracy value.

214
00:15:38,260 --> 00:15:45,790
And then if you follow this path, you get to see that taking a learning rate of 0.0001.

215
00:15:45,790 --> 00:15:49,630
And then your let's just look at this part.

216
00:15:49,630 --> 00:15:55,450
So you see notice this red part here which you can actually turn to green by clicking on it.

217
00:15:55,450 --> 00:15:57,100
So you see it turns to green.

218
00:15:57,100 --> 00:16:03,130
You have 0.0001 and then the number of units two, it's like around 32.

219
00:16:03,160 --> 00:16:12,460
Here we have drop our rate 0.2 number of units, 132 regularization rate 0.01.

220
00:16:12,460 --> 00:16:22,300
So these are the best hyper parameter values we have and we can now make use of this information to

221
00:16:22,630 --> 00:16:24,970
better create our model.

222
00:16:24,970 --> 00:16:31,000
So now instead of having a model like this, so now we will modify this.

223
00:16:31,000 --> 00:16:35,500
And then instead of having let's get back to what we had up here.

224
00:16:35,740 --> 00:16:43,570
So what we're saying is, instead of having this year where we had ten, now we could take this to 32

225
00:16:43,570 --> 00:16:50,410
and then right here it's 32, then we could pick the regularization rate to 0.01.

226
00:16:50,410 --> 00:16:54,880
So we have the 0.01 drop out rate.

227
00:16:55,570 --> 00:16:56,470
We didn't take.

228
00:16:56,950 --> 00:16:58,810
We didn't know that drop heart rate.

229
00:16:58,810 --> 00:17:00,130
Let's get back to that.

230
00:17:00,640 --> 00:17:05,140
The drop out rate, 0.1.

231
00:17:05,410 --> 00:17:07,390
No, no, no, 0.2 actually.

232
00:17:07,390 --> 00:17:10,660
So drop out rate 0.2, that looks fine.

233
00:17:10,660 --> 00:17:14,020
Learning rate 0.0001.

234
00:17:14,020 --> 00:17:14,830
So that's it.

235
00:17:14,830 --> 00:17:16,960
So we now see how to.

236
00:17:17,580 --> 00:17:25,170
Better pick those values thanks to this hyper parameter tuning which we could do easily with ten support.

237
00:17:25,200 --> 00:17:29,340
So let's get back to this and then we have 0.2 right here.

238
00:17:30,390 --> 00:17:34,740
Now, it should be noted that the method with you so far is great search.

239
00:17:34,740 --> 00:17:42,810
That is, we've specified the different ranges and then with some sort of search through the different

240
00:17:43,470 --> 00:17:44,240
ranges.

241
00:17:44,250 --> 00:17:48,240
And then we've gotten the best possible parameters which.

242
00:17:50,190 --> 00:17:52,500
Maximize the accuracy value.

243
00:17:52,530 --> 00:17:57,600
Now, another very popular technique is the random search with a random search.

244
00:17:58,320 --> 00:18:03,590
We'll just define a range and then pick our random values in that range.

245
00:18:03,600 --> 00:18:09,240
So unlike the grid search, where we have some defined or predefined values which we have to search

246
00:18:09,240 --> 00:18:14,010
through with a random search, we kind of like pick values at random.

247
00:18:14,610 --> 00:18:17,910
But then they both have the advantages and disadvantages.

248
00:18:17,940 --> 00:18:24,210
And one thing you could take out from this is that with a great search, since you have a fixed range,

249
00:18:24,210 --> 00:18:30,300
so you have a fixed range of values which you can pick from, it means if this fixed range of values

250
00:18:30,300 --> 00:18:37,590
is very large, it becomes problematic as this process of searching is going to take a very long time.

251
00:18:37,980 --> 00:18:45,240
So you may take a very long time before finding your best hyper parameter values which reconnect.

252
00:18:45,240 --> 00:18:52,560
Whereas for the random search, since we are not going in a particular order, it happens that we may

253
00:18:52,560 --> 00:18:58,080
even get the best hyper parameter values after just one step.

254
00:18:58,080 --> 00:19:04,890
So after just going through or after just one run or a few runs, we may already get the best hyper

255
00:19:04,890 --> 00:19:11,170
parameter values, just like we may get these values after 200 different runs.

256
00:19:11,190 --> 00:19:15,840
So if you have enough computational power, you could make use of the grid search.

257
00:19:15,840 --> 00:19:19,080
Since you are more sure of the different values you're going to be picking from.

258
00:19:19,080 --> 00:19:22,920
And if not, the random search will be a better option.

259
00:19:22,960 --> 00:19:29,210
Another very important aspect of terms of board is tensor boards profiler with tensor bars.

260
00:19:29,280 --> 00:19:37,320
Profiler We are able to evaluate the TensorFlow code and based on this evaluation, modify this code

261
00:19:37,320 --> 00:19:41,080
to ensure that it runs as efficiently as possible.

262
00:19:41,100 --> 00:19:46,650
That said, to make use of the profiler, we're going to start by installing this test about profiler

263
00:19:46,650 --> 00:19:49,870
plug in so we have your people install this.

264
00:19:49,890 --> 00:19:53,390
We run the so the profile plugin now installed.

265
00:19:53,400 --> 00:19:58,950
We now go ahead and run this cells right here.

266
00:19:58,950 --> 00:20:00,720
We're going to have this profile badge.

267
00:20:00,720 --> 00:20:05,910
So notice that we have this profile badge right here and this value specified.

268
00:20:05,910 --> 00:20:11,520
Your has to do with the range of badges to be profiled.

269
00:20:12,120 --> 00:20:16,920
And so here we could take say 100 to, let's say 132.

270
00:20:17,610 --> 00:20:18,560
Okay, so that's it.

271
00:20:18,570 --> 00:20:19,890
So we have that set.

272
00:20:19,890 --> 00:20:25,500
We are now run the cell tool looks fine and then we can start with the training.

273
00:20:25,500 --> 00:20:28,590
We have the stance about callback which has been added here.

274
00:20:28,590 --> 00:20:36,780
So we run this just out with the training train now complete, we go ahead and run this two cells just

275
00:20:36,780 --> 00:20:37,440
as expected.

276
00:20:37,440 --> 00:20:45,240
We have the skills, we have the graphs, we have this distributions, we have this histograms time

277
00:20:45,240 --> 00:20:46,140
series.

278
00:20:46,260 --> 00:20:49,710
And then in here we have this profile.
