对tensorflow里面keras种的Dense的units的理解

关于输入形状的思考

我之前是最习惯这样的:

θX = Y,因为这样长得像f(X) = Y,这也更符合大多数的图
θ是矩阵, X每一列是一个输入,这一列会作为一个整体,经过θ的处理,变成Y最左边的一个数据。Y就是横着的一个list。

但是现在我发现不太一样了

首先是pandas.read_excel和mySQL,他们似乎更喜欢把feature当成一列。这样就会导致X的每行是一个整体,这样就会导致X的shape=(??,feature),然后Y形状就是一列,Y.shape=(??,1)。
整个过程就是:

(??,featue)    =>    (??, units)    =>    (??, 1)

例如,我们创建一个Dense(units=5), Dense(units=6), Dense(units=7), Dense(units=1)的sequential model,一个行向量的训练过程就:
shape=(1,4) => (1,5) => (1,6) => (1,7) => (1,1)

换句话说,units就是变化中的feature

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`tensorflow.keras.layers` 是 Keras 中的模型层 API,它提供了一系列常见的深度学习层,如全连接层(Dense)、卷积层(Conv2D)、循环神经网络层(RNN)等等,用于构建神经网络模型。下面是一些常用的函数: - `tensorflow.keras.layers.Dense(units, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', ...)`: 全连接层,units为输出维度,activation为激活函数,use_bias为是否使用偏置项,kernel_initializer和bias_initializer为权重和偏置的初始化方法。 - `tensorflow.keras.layers.Conv2D(filters, kernel_size, strides=(1, 1), padding='valid', activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', ...)`: 二维卷积层,filters为输出通道数,kernel_size为卷积核大小,strides为步长,padding为填充方式,activation、use_bias、kernel_initializer和bias_initializer同上。 - `tensorflow.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', ...)`: 二维最大池化层,pool_size为池化窗口大小,strides为步长,padding为填充方式。 - `tensorflow.keras.layers.Dropout(rate, ...)`: Dropout层,rate为随机失活的概率。 - `tensorflow.keras.layers.LSTM(units, activation='tanh', recurrent_activation='sigmoid', use_bias=True, kernel_initializer='glorot_uniform', recurrent_initializer='orthogonal', ...)`: LSTM层,units为输出维度,activation和recurrent_activation为激活函数,use_bias、kernel_initializer和recurrent_initializer同上。 除此之外,还有许多其他的函数,可以根据具体需求选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值