【时间】2019.02.25
【题目】keras中的后端backend及其相关函数(K.prod,K.cast)
具体参考:Keras 后端,其中
一、K.prod
prod
keras.backend.prod(x, axis=None, keepdims=False)
功能:在某一指定轴,计算张量中的值的乘积。
参数
- x: 张量或变量。
- axis: 一个整数需要计算乘积的轴。
- keepdims: 布尔值,是否保留原尺寸。 如果
keepdims为False,则张量的秩减 1。 如果keepdims为True,缩小的维度保留为长度 1。返回
x的元素的乘积的张量。
Numpy 实现
def prod(x, axis=None, keepdims=False):
if isinstance(axis, list):
axis = tuple(axis)
return np.prod(x, axis=axis, keepdims=keepdims)
具体例子:
import numpy as np
x=np.array([[2,4,6],[2,4,6]])
scaling = np.prod(x, axis=1, keepdims=False)
print(x)
print(scaling)
【运行结果】

二、K.cast
cast
keras.backend.cast(x, dtype)
功能:将张量转换到不同的 dtype 并返回。
你可以转换一个 Keras 变量,但它仍然返回一个 Keras 张量。
参数
- x: Keras 张量(或变量)。
- dtype: 字符串, (
'float16','float32'或'float64')。返回
Keras 张量,类型为
dtype。
例子
>>> from keras import backend as K
>>> input = K.placeholder((2, 3), dtype='float32')
>>> input
<tf.Tensor 'Placeholder_2:0' shape=(2, 3) dtype=float32>
# It doesn't work in-place as below.
>>> K.cast(input, dtype='float16')
<tf.Tensor 'Cast_1:0' shape=(2, 3) dtype=float16>
>>> input
<tf.Tensor 'Placeholder_2:0' shape=(2, 3) dtype=float32>
# you need to assign it.
>>> input = K.cast(input, dtype='float16')
>>> input
<tf.Tensor 'Cast_2:0' shape=(2, 3) dtype=float16>
本文详细介绍了Keras后端中的两个重要函数:K.prod和K.cast。K.prod用于计算张量中值的乘积,而K.cast则用于改变张量的数据类型。通过具体的代码示例,读者可以了解到这两个函数的使用方法及注意事项。
869

被折叠的 条评论
为什么被折叠?



