tensorflow(三十五):卷积神经网络CNN

一、基本概念

1、 看图:我们假设几个变量,N是卷积核的个数,B是batch_size,C是通道数,如RGB三个通道。

如下所示:X中b是batch_size,最后一个3是通道数。

one K 中第一个3是通道数,后面两个3是卷积大小3*3.

multi-K 中第一个16是N,指的是有16个卷积。bais和out的16都是这个意思。

padding指的是上下左右各打一个padding.

 

 如下图,LeNet5的卷积核个数N是变化的:

二、卷积代码

1、如图,Conv2D中,第一个参数是卷积核个数N,kernel_size是5乘5的,步长为1.padding="valid"表示不做pad,“same”表示想办法pad,让输入和输出一致。

另外,尽量不要调用call(),直接layer(x)内部就调用了__call__(),然后会内部调用call()

 2、另外,内部的kernel是[5, 5, C, N]:

 3、可以自己手动计算卷积,即更加底层的functional风格:

原文地址:https://www.cnblogs.com/zhangxianrong/p/14724465.html