学习keras 简单记录

tf.keras.backend.batch_dot函数

导入方式

// 定义在:tensorflow/python/keras/backend.py。
tf.keras.backend.batch_dot(
	x,
	y,
	axes=None
)

批量化的点积
from tensorflow.python.keras import models,layers
当x和y是批量数据时,batch_dot用于计算x和y的点积,即shape为
(batch_size,: ) 。 batch_dot产生维度小于输入的张量或变量。如果维度数减少到1,我们使用expand_dims确保ndim至少为2。
参数

import tensorflow as tf
tf.keras...

或者是

from tensorflow.keras import ...
  • x: nidim > 2 的keras张量或变量
  • y: nidim > 2 的keras张量或变量
  • axes:具有目标维度的(或单个)int列表。axes[0]和axes[1]的长度应该是相同的。

返回

一个张量的形状等于x的形状(减去求和的维数)
和y的形状(减去批处理维数和求和的维数)的串联。
如果最终的秩是1,我们将其重塑为' (batch_size, 1) '

具体做法

  1. 定义模型的类型。Keras 提供了两种类型的模型:序列和模型类 API。Keras 提供各种类型的神经网络层:
#import the model and layers needed
from keras.model import Sequential 
from keras.layers import Dense
model = Sequential()
  1. 在 model.add() 的帮助下将层添加到模型中。依照 Keras 文档描述,Keras 提供全连接层的选项(针对密集连接的神经网络)
layer Dense(units,activation=None,use_bias = True,
kernel_initiallizer = 'glorot_uniform',bias_initializer ='zeros',
kernel_regularizer =None ,bias_regularizar = None , 
activity_regularizer = None ,
kernel_constraint =None,
bias_constraint =None)

注意,密集层实现的操作:output=activation(dot(input,kernel)+bias),
其中 activation 是元素激活函数,是作为激活参数传递的,
kernel 是由该层创建的权重矩阵,bias 是由该层创建的偏置向量
(仅在 use_bias 为 True 时适用)。

  1. 可以使用它来添加尽可能多的层,每个隐藏层都由前一层提供输入。只需要为第一层指定输入维度:
#下面操作增加一个32 个神经元全连接神经网络,每个有13个输入,激活函数为ReLU
mode.add(Dense(32,input_dim = 13,actication='relu'))
model.add(10, activation='sigmoid')
  1. 损失函数和优化器

    一旦模型被定义,需要选择一个损失函数和优化器。Keras 提供了多种损失函数:
    (mean_squared_error、 mean_absolute_error、 mean_absolute_percentage_error、categorical_crossentropy
    优化器(sgd、RMSprop、Adagrad、Adadelta、Adam 等)。
    损失函数和优化器确定后,可以使用 compile(self,optimizer,loss,metrics=None,sample_weight_mode=None)来配置学习过程:

model.compile(optimizer ='rmsprop',
				loss = 'categorical_crossentropy',
				metrics=['accuracy']}
  1. 使用 fit 方法训练模型:
	model.fit (data,labels,epochs=10,batch_size=32)
  1. 可以在 predict 方法** predict(self,x,batch_size=32,verbose=0) **的帮助下进行预测:
model.predict(test_data,batch_size=10)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值