1
00:00:00,270 --> 00:00:05,730
Welcome back in this section, we're going to do something quite cool, we're going to load a lot of

2
00:00:05,730 --> 00:00:09,810
those complicated big of CNN's that we have seen previous leaders classical.

3
00:00:13,530 --> 00:00:18,240
Hi, welcome back to the course in this section, we're going to do something that I think is quite

4
00:00:18,240 --> 00:00:18,570
cool.

5
00:00:19,020 --> 00:00:23,400
We're going to load those famous scenes to CNN's we discussed previously.

6
00:00:23,400 --> 00:00:29,640
Some of them are here big resonant inception and squeeze net, mobile net and some some others.

7
00:00:30,000 --> 00:00:35,370
We're going to load them in PyTorch and inference, some image and some test images with them and see

8
00:00:35,370 --> 00:00:36,090
how they perform.

9
00:00:36,270 --> 00:00:37,440
So let's get started.

10
00:00:37,500 --> 00:00:40,440
So open this notebook here, which I've already done.

11
00:00:41,220 --> 00:00:43,560
And these are the networks we're going to mess with now.

12
00:00:44,010 --> 00:00:48,930
You can see that they are a lot of other networks available in pie to which you can check them out here.

13
00:00:49,650 --> 00:00:53,310
So what you can do as an experiment, as a homework lesson.

14
00:00:53,880 --> 00:00:55,260
Load some of these networks.

15
00:00:55,270 --> 00:01:00,320
I would suggest trying to mess with efficient net and maybe as next as well.

16
00:01:00,330 --> 00:01:05,280
There's a quite good and experiment and run the inference on those networks.

17
00:01:05,760 --> 00:01:13,530
So let's see how we lured pre-trained network or network in to watch because it doesn't have to be prefent.

18
00:01:13,740 --> 00:01:19,710
In fact, we can set pre-trained equal false and it just loads of model architecture with random weights.

19
00:01:20,130 --> 00:01:22,980
We don't know those around them which can be used.

20
00:01:22,980 --> 00:01:28,890
We can use that network now to train on our own dataset if you so choose so to do so.

21
00:01:29,400 --> 00:01:34,620
However, we're going to load the network that has already been trained on the image net dataset, which

22
00:01:34,620 --> 00:01:37,650
you are familiar with that million image dataset.

23
00:01:38,070 --> 00:01:40,440
That's what that's what these networks have been trained on.

24
00:01:40,470 --> 00:01:41,220
So we have.

25
00:01:41,640 --> 00:01:42,820
So they perform quite well.

26
00:01:43,440 --> 00:01:44,760
So let's do this.

27
00:01:45,060 --> 00:01:46,080
Look how easy this is.

28
00:01:46,110 --> 00:01:52,530
So firstly, from towards vision models, which we import as models, we just do models that Vigilia

29
00:01:52,530 --> 00:01:58,830
16 pre-trained equal true and preclinical true means that it's loading the image nitwits because that's

30
00:01:58,830 --> 00:02:03,710
the only set of weights applied to watch has, and it just looks set into model.

31
00:02:03,720 --> 00:02:05,450
So now our model is that.

32
00:02:05,450 --> 00:02:08,970
VIDEO 16 already trained Windows Image Net.

33
00:02:10,140 --> 00:02:15,080
So let's do this and we'll have to download the model of this, which does take some time because video

34
00:02:15,330 --> 00:02:17,280
isn't a small model, it's quite big.

35
00:02:17,880 --> 00:02:19,770
So let's just wait for this to load.

36
00:02:25,260 --> 00:02:25,910
All right, there we go.

37
00:02:26,010 --> 00:02:27,870
It didn't take that long, took about 12 seconds.

38
00:02:28,470 --> 00:02:33,990
So now we can take this model, this model object, and we can explore it so you can rest run the model

39
00:02:33,990 --> 00:02:39,150
here in the similarly, if you want to just do this, you can do print and put the model inside that

40
00:02:39,150 --> 00:02:42,340
print function and you can see all the layers here.

41
00:02:42,360 --> 00:02:49,020
So Richard U16s 16, convolution Liz and some fully connected layers at the end are actually it's 218

42
00:02:49,020 --> 00:02:55,640
Cornelia's and tree fully connected layers at the end, which is done here, so you can see the architecture.

43
00:02:55,650 --> 00:02:56,820
Inspect it yourself.

44
00:02:57,510 --> 00:03:03,420
Similarly, you can actually use towards summary, which is a very cool function that gives us a Keros

45
00:03:03,420 --> 00:03:07,010
like, similar style display of the model.

46
00:03:07,020 --> 00:03:08,760
So you can see let's just bring this here.

47
00:03:09,900 --> 00:03:14,250
So you can display it here, and you can see the number of parameters pelea the output shape.

48
00:03:14,790 --> 00:03:18,510
This is a much better way, in my opinion, of observing the model.

49
00:03:18,960 --> 00:03:23,190
And you can see the total number of parameters here, which is 128 million.

50
00:03:23,700 --> 00:03:28,980
That is quite big, and you can see there's a forward pass size, parameter size.

51
00:03:29,130 --> 00:03:31,080
These are quite good steps here as well.

52
00:03:31,590 --> 00:03:36,180
And notice we have to put an input size specified input size.

53
00:03:36,690 --> 00:03:42,810
That's understandable because it does change the output shapes as we go through network imaging that

54
00:03:43,680 --> 00:03:50,160
these networks are trained on emission of data size of two 24 by 224, at least most of these networks.

55
00:03:50,580 --> 00:03:52,500
So that's the size we use here.

56
00:03:52,620 --> 00:03:54,090
So let's run that again.

57
00:03:54,300 --> 00:03:55,470
Yeah, well, I did that before.

58
00:03:55,740 --> 00:03:56,850
You don't need to do it twice.

59
00:03:57,600 --> 00:04:04,950
So to run, to run or test images onto this limited network, we have to create a transform function

60
00:04:04,950 --> 00:04:06,290
in by torch.

61
00:04:06,810 --> 00:04:09,210
So similarly, we've done this before.

62
00:04:09,630 --> 00:04:15,310
So you import to the transform module from to watch vision and we set out transforms here.

63
00:04:15,330 --> 00:04:17,790
We're going to resize to 24 by 224.

64
00:04:18,390 --> 00:04:22,890
Change it to Tensor now that I've come into these lines here.

65
00:04:23,460 --> 00:04:29,910
However, these lines are basically the image, not normalized, mean and standard deviation, as you

66
00:04:29,910 --> 00:04:30,540
can see here.

67
00:04:31,140 --> 00:04:37,260
That's what that's a that was a pre-processing technique that was used on image net, and we don't always

68
00:04:37,260 --> 00:04:38,550
need to load this in.

69
00:04:38,970 --> 00:04:42,720
Some for some networks are doing some networks you do for this one.

70
00:04:42,720 --> 00:04:46,950
Individually, they didn't use this normalized width, so we don't know that put him in here.

71
00:04:47,400 --> 00:04:52,870
However, I did leave them in just so you know and put a note here, just so you're aware of them in

72
00:04:52,870 --> 00:04:54,660
the future because some networks do need them.

73
00:04:54,960 --> 00:04:57,640
So let's create a transforms call.

74
00:04:57,650 --> 00:05:02,910
The test transforms, which is probably not the best name for it, should have clear inference transforms,

75
00:05:03,540 --> 00:05:04,110
but that's OK.

76
00:05:04,740 --> 00:05:11,970
So now we're going to use that the development of the model no dotted values, basically like a switch

77
00:05:12,120 --> 00:05:16,980
that allows you to switch from inference and training because the network does behave differently when

78
00:05:16,980 --> 00:05:23,970
training and when inference mode, things like the drop out layers, an inference mode you don't want

79
00:05:23,970 --> 00:05:26,940
to turn, you don't want to turn off layers, you want oilier layers on.

80
00:05:27,330 --> 00:05:31,650
However, doing training when you want to use drop out, you will have to set something for the model

81
00:05:31,650 --> 00:05:37,380
to know that it's going to be either training or inference mode because these layers to behave differently.

82
00:05:37,650 --> 00:05:41,110
So that's basically set it here.

83
00:05:41,130 --> 00:05:45,660
So let's run this and we've set our Model two evaluation mode.

84
00:05:46,390 --> 00:05:49,800
So let's get some images.

85
00:05:49,800 --> 00:05:53,630
But before we get the images, let's download our image net classes.

86
00:05:53,630 --> 00:05:55,170
So I have this on my GitHub.

87
00:05:55,920 --> 00:05:59,010
So we're just done with that file and you can take a look.

88
00:05:59,010 --> 00:06:02,820
The file is here and you can open this file and club.

89
00:06:03,060 --> 00:06:09,960
It opens on the right hand panel and you can see all 1000 classes here for the image now dataset.

90
00:06:10,140 --> 00:06:11,220
So many different things.

91
00:06:11,640 --> 00:06:15,660
So many different weird categories that I don't even know what they are sometimes, to be fair.

92
00:06:16,020 --> 00:06:20,400
This must have been pain to label, but it was human annotators.

93
00:06:21,480 --> 00:06:23,310
So let's close those windows.

94
00:06:23,310 --> 00:06:26,790
And so now we create some helper functions.

95
00:06:26,790 --> 00:06:34,440
These helper functions basically allow or model to get a load, an image and then pasted image to show

96
00:06:34,440 --> 00:06:39,840
them, and the network info propagates it and gives us and returns a class and also does some plotting

97
00:06:39,840 --> 00:06:40,110
here.

98
00:06:40,560 --> 00:06:42,810
So let's take a look at how this works.

99
00:06:42,810 --> 00:06:49,430
So for no, you know what device you know about, this is sensitive to the CUDA GPU or the CPU.

100
00:06:50,040 --> 00:06:55,020
We were just opening this this class name as JSON file and creates, including it using JSON.

101
00:06:55,020 --> 00:06:56,770
That load will look.

102
00:06:56,790 --> 00:07:01,650
So we have class names as a variable that's towards all of those class names that have showed you above.

103
00:07:02,400 --> 00:07:06,240
So let's take a look at the actually, let's take a look at the get images function for this.

104
00:07:06,840 --> 00:07:12,180
So remember, if we point to a directory here which will download these images at these test images

105
00:07:12,180 --> 00:07:13,620
in this block of code afterward?

106
00:07:14,040 --> 00:07:17,610
But for now, let's assume the images are in this images directory.

107
00:07:18,810 --> 00:07:20,010
And what do we do here?

108
00:07:20,430 --> 00:07:24,360
We just use data sets dot image folder specifying that.

109
00:07:24,440 --> 00:07:29,510
Directory in the directory here applied transforms to that, and that's no data.

110
00:07:29,960 --> 00:07:35,750
So now we have the number of images, so we just get lean into data to get the number of images and

111
00:07:35,750 --> 00:07:40,700
then we use this torchlight utilized or detailed or digital order, which is our data loader.

112
00:07:41,300 --> 00:07:44,210
And we specified a bad size, which is number of images here.

113
00:07:44,720 --> 00:07:47,300
And as I said before, we can use two items.

114
00:07:47,300 --> 00:07:52,610
I talked about function in Python to basically extract information from this loader.

115
00:07:53,150 --> 00:07:58,880
So we get data later here and get this data to dot next to get images and levels out of it.

116
00:07:59,660 --> 00:08:05,480
Now it seems quite simple if you think about it, and it is so just stuck to this code slowly.

117
00:08:05,480 --> 00:08:08,210
If you want to understand it, I've done it line by line for you.

118
00:08:08,690 --> 00:08:14,840
However, when code is new and these Python functions can do quite a few different things, that's sometimes

119
00:08:14,840 --> 00:08:16,960
confusing to look at its best.

120
00:08:16,970 --> 00:08:20,030
You take your time and try to understand what each line is doing in a way.

121
00:08:20,780 --> 00:08:24,080
So now let's move up to the predict image function.

122
00:08:24,830 --> 00:08:26,150
So this function is quite simple.

123
00:08:26,150 --> 00:08:31,310
Actually, it just takes two inputs, two images and the class names, which is what the image that

124
00:08:31,310 --> 00:08:31,900
class name is.

125
00:08:31,910 --> 00:08:37,700
Oh, it uses some of the pilou, which is another image library.

126
00:08:38,210 --> 00:08:39,260
It uses some of that.

127
00:08:39,260 --> 00:08:42,110
Those functions here to transform the image.

128
00:08:42,530 --> 00:08:45,780
That's basically for displaying it, but for displaying purposes.

129
00:08:46,970 --> 00:08:51,800
So anyway, so we take the images that we lower so we can just take an array of images.

130
00:08:52,400 --> 00:08:57,530
So once we have the image inside of this, because remember, we're looping true, we're iterating through

131
00:08:57,530 --> 00:08:59,120
an array of images.

132
00:08:59,540 --> 00:09:06,320
We converted to the pill image format for this year and then from that format because PyTorch can directly

133
00:09:06,320 --> 00:09:08,720
operate on some of those in that image format.

134
00:09:09,170 --> 00:09:15,350
We converted to a float using dot floats here and that that basically transforms the image.

135
00:09:15,350 --> 00:09:16,700
Here we're using test transform.

136
00:09:16,710 --> 00:09:22,130
So we applied transformations to the image that needs to be in a pill format, and then we converted

137
00:09:22,130 --> 00:09:23,120
into a float.

138
00:09:23,720 --> 00:09:29,870
And then we used a PyTorch unscreened method here to basically make this a one dimensional tensor.

139
00:09:30,470 --> 00:09:34,400
And then we convert that tensor to apply to each variable here.

140
00:09:34,790 --> 00:09:42,140
This allows us to now fold propagate that image into the network that we specify that it's going to

141
00:09:42,140 --> 00:09:43,900
input Dot to device.

142
00:09:44,960 --> 00:09:47,750
That's right that this we're sending the input to the device.

143
00:09:47,750 --> 00:09:49,790
Sorry for that mistake.

144
00:09:50,300 --> 00:09:52,970
And then we propagate it to the model here.

145
00:09:53,390 --> 00:09:53,900
Finally.

146
00:09:54,290 --> 00:09:58,160
So this does seem like a lot of steps, and it could be quite confusing.

147
00:09:58,160 --> 00:09:59,420
It was confusing to me.

148
00:09:59,450 --> 00:10:04,550
Actually, it's still confusing to me sometimes because PyTorch is a low level language and you do have

149
00:10:04,550 --> 00:10:11,300
to be aware of the image types, the requirements and the sequence of operations you do before you do

150
00:10:11,300 --> 00:10:13,550
inference on the model.

151
00:10:14,090 --> 00:10:16,180
So let's get back to this.

152
00:10:16,190 --> 00:10:21,200
So now that we get the up until we send or not, we can the output to an umpire.

153
00:10:21,200 --> 00:10:27,380
We're using the data dot CPU, the Nampai and then using the number of MAX function.

154
00:10:27,710 --> 00:10:32,270
We get the index that represents the highest probability class.

155
00:10:32,810 --> 00:10:39,500
And then we use that index here to basically do a lookup using the class names dictionary out reloaded.

156
00:10:39,590 --> 00:10:41,120
That's why we converted to string.

157
00:10:41,810 --> 00:10:48,140
So we just get the actual name, the actual word, that representation instead of the number so that

158
00:10:48,140 --> 00:10:53,480
we can then plot the class name using the map for live functions here, which I won't go into detail

159
00:10:53,480 --> 00:10:55,490
because you would have seen this many times before.

160
00:10:56,150 --> 00:11:02,810
So and or just so you know, one thing to note is that this is creating a so many slots for only images

161
00:11:02,810 --> 00:11:03,800
that are in that folder.

162
00:11:04,370 --> 00:11:09,110
So it's quite cool for too many images that would just be one big, long subplot.

163
00:11:09,110 --> 00:11:11,150
So be careful with how you're plotting this.

164
00:11:11,810 --> 00:11:12,860
So we're ready.

165
00:11:13,010 --> 00:11:22,670
So let's create these functions that stomatal images get image net classes, which I think we were already

166
00:11:22,670 --> 00:11:24,310
done before we did.

167
00:11:24,680 --> 00:11:27,380
That line is redundant and we just delete this.

168
00:11:28,880 --> 00:11:32,780
And no, that's not going to spoil the surprise here yet.

169
00:11:33,350 --> 00:11:37,670
Let's predict the images from using the functions we did before.

170
00:11:38,570 --> 00:11:41,170
So it's going to be quite simple.

171
00:11:41,180 --> 00:11:43,010
Let's just run this code.

172
00:11:43,640 --> 00:11:44,630
This could above here.

173
00:11:45,590 --> 00:11:47,090
So we get images first.

174
00:11:47,090 --> 00:11:51,290
And then we passed those images to the predict image function with the class names.

175
00:11:51,290 --> 00:11:59,690
And voila, in a few seconds, we'll get that nice generated subplot that shows you the inference on

176
00:11:59,690 --> 00:12:01,490
all these images using Viji.

177
00:12:02,060 --> 00:12:06,710
So let's zoom into this and we can see this was a burrito and was predicted to be a burrito.

178
00:12:07,430 --> 00:12:11,720
This is predicted to be a bathtub, which was actually a floor mat, not a bathtub.

179
00:12:12,560 --> 00:12:15,410
This basketball is fairly easy, so they've got a basketball.

180
00:12:15,920 --> 00:12:18,860
German Shepherd was a very, very easily as well.

181
00:12:19,310 --> 00:12:22,460
So it's a pretty long description for the German Shepherd, but that's fine.

182
00:12:23,120 --> 00:12:24,170
Christmas stocking.

183
00:12:24,410 --> 00:12:30,440
Which is that it's a critical category, but nevertheless, I did it in this one, I got wrong.

184
00:12:30,650 --> 00:12:32,990
It thinks it's a popsicle and it's clearly a beer.

185
00:12:33,860 --> 00:12:34,740
This one got it.

186
00:12:34,740 --> 00:12:35,480
Got right?

187
00:12:35,510 --> 00:12:37,010
This one, they got right again.

188
00:12:37,130 --> 00:12:39,560
Callie Limousin and Spider Web.

189
00:12:39,650 --> 00:12:43,070
So it's working quite well, but not that great.

190
00:12:43,800 --> 00:12:45,480
Let's see if Resonate can do any better.

191
00:12:45,500 --> 00:12:51,410
So let's do the same thing we did before Lola Resnick model, which takes that didn't take that long

192
00:12:51,410 --> 00:12:51,680
at all.

193
00:12:52,430 --> 00:12:59,570
And then we create we preview a model using the summary function, and you can see it has 11 million

194
00:12:59,570 --> 00:13:00,290
parameters.

195
00:13:00,320 --> 00:13:02,930
It's quite small in comparison to big.

196
00:13:04,820 --> 00:13:07,340
And let's just print out this story.

197
00:13:07,370 --> 00:13:12,410
Doesn't print outlets convinced just convert the Model T valuation would just so, you know, let's

198
00:13:12,410 --> 00:13:13,400
go back up here.

199
00:13:14,600 --> 00:13:16,610
This resident polluting as resonant 18.

200
00:13:17,180 --> 00:13:20,630
This is the smallest resonant model that is available on phytoestrogens.

201
00:13:20,630 --> 00:13:27,410
Resonate City for fifty one, resonate a 50th anniversary and 151.

202
00:13:27,830 --> 00:13:31,730
So there's a bunch of resonance we can use as resonant a one to one as well gemstones.

203
00:13:32,870 --> 00:13:35,570
So let's take a look at the network architecture.

204
00:13:35,600 --> 00:13:37,790
We're not going to go into detail because you've seen it before.

205
00:13:38,270 --> 00:13:43,850
Now let's run our predictions and see if Resonate 18, which is the smallest business model, does better

206
00:13:43,850 --> 00:13:44,360
or worse.

207
00:13:45,080 --> 00:13:47,930
So immediately I can see it got the first one wrong.

208
00:13:48,470 --> 00:13:52,250
It's a burrito, not a mortar, which is the big mistake.

209
00:13:52,910 --> 00:13:54,470
This one you got right the doormat.

210
00:13:54,470 --> 00:14:00,320
When you got that wrong, then it got this, as well as an ice lolly when it's clearly a beer.

211
00:14:00,350 --> 00:14:04,940
But it's understandable because it is kind of shaped like a lolly somewhat.

212
00:14:06,110 --> 00:14:09,370
They got this one wrong to the Colleen, not a similar year.

213
00:14:09,500 --> 00:14:12,740
Whatever that is, that might be a strawberry under the limit.

214
00:14:13,670 --> 00:14:15,290
So now let's do inception.

215
00:14:15,300 --> 00:14:18,410
So we're going to load Inception Vietri, which is a quite good model.

216
00:14:19,520 --> 00:14:22,750
And notice the input image sizes to 99.

217
00:14:22,760 --> 00:14:27,680
That's because Inception was trained on the larger image dataset, so we have to change that to two

218
00:14:27,680 --> 00:14:32,210

219
19:9 here, and we can see the number of parameters with the inception vitreous.

220
00:14:32,210 --> 00:14:33,230
Twenty seven million.

221
00:14:33,830 --> 00:14:34,580
It's quite a bit.

222
00:14:34,730 --> 00:14:39,710
Let's set our Model T evaluation mode, and let's run those predictions here.

223
00:14:41,240 --> 00:14:43,190
Let's see if this gets all right.

224
00:14:43,760 --> 00:14:48,080
And no, it got it says it's an envelope and it's a floor mat to a welcome mat.

225
00:14:48,680 --> 00:14:50,150
But it got very tall, right?

226
00:14:50,570 --> 00:14:56,230
It also got this beer jug mug her own, and it got the color on as well.

227
00:14:56,240 --> 00:14:57,920
So slightly disappointing.

228
00:14:58,520 --> 00:15:05,420
Let's see how mobile that Vision two performs, which is a tiny model, relatively tiny that has some

229
00:15:05,420 --> 00:15:06,440
really good performance stuff.

230
00:15:06,650 --> 00:15:09,500
So it's only 3.5 million parameters, as you can see.

231
00:15:10,220 --> 00:15:19,220
So let's set that to evaluation mode and run our predictions, and we can see it is doing quite poorly.

232
00:15:19,910 --> 00:15:22,130
It's not a show, a cap, it's a Barrientos envelope.

233
00:15:22,130 --> 00:15:22,820
It's a format.

234
00:15:23,480 --> 00:15:25,490
Should have got this one wrong and correct.

235
00:15:25,730 --> 00:15:28,950
Got it wrong to basketball Artic Wolf.

236
00:15:29,000 --> 00:15:32,270
I guess it's kind of similar, but it's not an Arctic wolf, the German Shepherd.

237
00:15:33,680 --> 00:15:35,600
This is a Christmas stocking, so I got that right.

238
00:15:36,830 --> 00:15:39,080
I don't know how this is a Band-Aid, but it got it wrong.

239
00:15:40,460 --> 00:15:42,070
Limousin Limousine Collie Weber.

240
00:15:42,080 --> 00:15:43,520
So they got maybe half of them wrong.

241
00:15:43,520 --> 00:15:43,910
Half of them.

242
00:15:43,910 --> 00:15:44,330
Correct?

243
00:15:44,900 --> 00:15:48,350
Let's take a look at squeezing that lets you squeeze not us any better.

244
00:15:48,590 --> 00:15:50,120
So we'll create that.

245
00:15:50,690 --> 00:15:51,380
Get the model.

246
00:15:51,380 --> 00:15:53,420
SUMMARY 1.1.

247
00:15:53,540 --> 00:15:54,290
1.2 million.

248
00:15:54,290 --> 00:15:54,680
Sorry.

249
00:15:55,340 --> 00:15:56,630
That's very tiny.

250
00:15:56,990 --> 00:16:01,500
So let's see how this performs, given that it's such a small model.

251
00:16:02,900 --> 00:16:03,800
So reiterate.

252
00:16:04,040 --> 00:16:04,760
Got this wrong?

253
00:16:04,760 --> 00:16:05,560
Got this wrong?

254
00:16:06,080 --> 00:16:07,040
Got this wrong?

255
00:16:07,070 --> 00:16:07,870
Got this wrong?

256
00:16:07,890 --> 00:16:08,560
Got this wrong.

257
00:16:08,560 --> 00:16:10,520
But limo right politics.

258
00:16:10,520 --> 00:16:15,890
So meet again, which is not sure what it is or look it up after and then got a spiderweb, right?

259
00:16:15,890 --> 00:16:17,120
So not that great.

260
00:16:17,660 --> 00:16:19,370
What about wider, isn't it?

261
00:16:20,210 --> 00:16:23,090
So why residents are better than residents?

262
00:16:23,090 --> 00:16:28,580
Generally, it's wider, meaning that they actually use more filters in the model.

263
00:16:29,210 --> 00:16:35,920
So let's take a look and see how this performs, and we can try different residents as well as not one

264
00:16:35,930 --> 00:16:37,130
on one might do quite well.

265
00:16:37,850 --> 00:16:44,690
Let's get the summary out of it, and let's go to evaluation mode and let's run our predictions.

266
00:16:46,730 --> 00:16:50,680
I don't expect it to be miraculously better, but let's see.

267
00:16:50,690 --> 00:16:52,070
I got this wrong.

268
00:16:52,070 --> 00:16:52,580
Got this wrong?

269
00:16:52,630 --> 00:16:53,270
Got this right?

270
00:16:53,420 --> 00:16:53,900
Just right.

271
00:16:53,900 --> 00:16:55,100
This right, this wrong.

272
00:16:55,730 --> 00:16:57,170
And this right.

273
00:16:57,170 --> 00:16:59,000
This right destroyed says that's OK.

274
00:16:59,270 --> 00:17:04,000
Similar to Vejjajiva in the original resonant let's try amnesty.

275
00:17:04,000 --> 00:17:10,430
So Amnesty is one of the predecessors to efficient net, which was it's also quite good and quite similar

276
00:17:10,430 --> 00:17:11,190
to the that.

277
00:17:11,870 --> 00:17:13,820
So let's see how Amnesty performs.

278
00:17:14,120 --> 00:17:21,530
So let's admit it to evaluation mode, and let's run our predictions and you can see something from

279
00:17:21,530 --> 00:17:23,150
the bottom is very dumb here.

280
00:17:23,480 --> 00:17:24,080
It got this.

281
00:17:24,140 --> 00:17:24,870
Right, that's right.

282
00:17:24,950 --> 00:17:25,730
This right.

283
00:17:26,240 --> 00:17:29,510
It's not a nipple, it's a bath, we've got this right.

284
00:17:29,510 --> 00:17:30,350
Got this right?

285
00:17:30,440 --> 00:17:35,000
My first thought, it's a basketball, it's not a wall, it's a pillow mat.

286
00:17:35,120 --> 00:17:36,830
It got some rooms on, right?

287
00:17:37,490 --> 00:17:42,890
So honestly, in all of this here seems like Vejjajiva probably was the best, wasn't it?

288
00:17:43,370 --> 00:17:44,660
Let's scroll up to the top.

289
00:17:44,870 --> 00:17:46,700
Sorry for the quick scrolling.

290
00:17:47,390 --> 00:17:48,680
I know it could be a bit annoying.

291
00:17:52,270 --> 00:18:01,180
So we can see that Big Hill got, but you seem to have forgotten some of the best performance, all

292
00:18:01,180 --> 00:18:06,640
of the models got this bit wrong and all of the models got issues with the basketball, which I think

293
00:18:06,640 --> 00:18:10,180
was a fairly easy class and a match as well.

294
00:18:10,570 --> 00:18:13,600
So the models generally are performing fairly well.

295
00:18:13,600 --> 00:18:16,750
He can try them on your own images feel free to.

296
00:18:17,200 --> 00:18:21,560
You can either upload your images to those images directly here if you want.

297
00:18:21,760 --> 00:18:23,290
Actually, it is class directly here.

298
00:18:24,010 --> 00:18:29,680
Class one and that's where it's looking for the images, so you can just get the images there and place

299
00:18:29,680 --> 00:18:32,770
them yourself if you want to see how it performs on it.

300
00:18:33,400 --> 00:18:37,780
Also, I would strongly advise you try some new models.

301
00:18:37,780 --> 00:18:44,230
In fact, look at resonate and look at wide, resonant and resonant next and efficient that there was

302
00:18:44,230 --> 00:18:49,960
an experiment with different resonance as well as dance steps as well, and see if any combination of

303
00:18:49,960 --> 00:18:54,790
models that give us all of these images correctly with the correct classes.

304
00:18:55,900 --> 00:19:02,200
And if you do find a model that doesn't share it on the Udemy forum so everyone else can see what the

305
00:19:02,200 --> 00:19:08,960
best model is, so I'll stop there for now and what you do will do the same thing with cameras.

306
00:19:09,010 --> 00:19:14,020
So we're going to see how to load pretreated models and cameras and how to inference them on our test

307
00:19:14,020 --> 00:19:14,500
images.

308
00:19:14,920 --> 00:19:16,820
So I'll see you in the next section.

309
00:19:16,900 --> 00:19:17,320
Thank you.
