本文讲解keras.backend.placeholder函数使用以及函数参数:
1、如何导入keras.backend:
from keras import backend as K
if __name__ == '__main__':
inputs = K.placeholder(shape=(2, 3, 5), ndim=4)
print('inputs ndim: %s' % K.ndim(inputs))
2、运行输入结果:
inputs ndim: 3
3、函数源码解析:
def placeholder(shape=None, ndim=None, dtype=None, sparse=False, name=None):
"""Instantiates a placeholder tensor and returns it.
# Arguments
shape: Shape of the placeholder
(integer tuple, may include `None` entries).
ndim: Number of axes of the tensor.
At least one of {`shape`, `ndim`} must be specified.
If both are specified, `shape` is used.
dtype: Placeholder type.
sparse: Boolean, whether the placeholder should have a sparse type.
name: Optional name string for the placeholder.
# Returns
Tensor instance (with Keras metadata included).
# Examples
```python
>>> from keras import backend as K
>>> input_ph = K.placeholder(shape=(2, 4, 5))
>>> input_ph._keras_shape
(2, 4, 5)
>>> input_ph
<tf.Tensor 'Placeholder_4:0' shape=(2, 4, 5) dtype=float32>
```
"""
if dtype is None:
dtype = floatx()
if not shape:
if ndim:
shape = tuple([None for _ in range(ndim)])
if sparse:
x = tf.sparse_placeholder(dtype, shape=shape, name=name)
else:
x = tf.placeholder(dtype, shape=shape, name=name)
x._keras_shape = shape
x._uses_learning_phase = False
return x
4、函数参数解释
# shape: Shape of the placeholder(integer tuple, may include `None` entries).
# shape: 占位符的形状, 输入为整形int的元组,可以含有None.
# ndim: Number of axes of the tensor.
# ndim: 张量维度数.
# 注意: 至少指定`shape`或者`ndim`参数, 如果同时指定, 将以`shape`传入为主.
# dtype: Placeholder type.
# dtype: 数据类型(data type).
# Sparse: Boolean, whether the placeholder should have a sparse type.
# Sparse: 布尔类型, 占位符是否应为稀疏类型.