使用 Python Tensorflow 输入形状 (53,)) 时……这个逗号是怎么回事?

Pri*_*ign 2 python python-3.x keras tensorflow keras-layer

我对以下代码行感到困惑:

input_img = Input(shape=(53,))
Run Code Online (Sandbox Code Playgroud)

我有一批 52 张图像,但是一个元组怎么在逗号之后没有任何内容?这是什么意思?

A C*_* Co 5

函数Input除了参数形状的元组

使用逗号可以定义一个包含单个项目的元组。如果您只是使用 (53) 或 53,它将被解释为一个整数:

type( 53 )
<class 'int'>
type( (53) )
<class 'int'>
type( (53,) )
<class 'tuple'>
Run Code Online (Sandbox Code Playgroud)

这是因为在计算中使用了简单的括号,因此无法解析元组:

(53) + 2 # would raise an error if (53) was a tuple
(53 + 1)*2 # would also raise an error if (53+1) was a tuple
Run Code Online (Sandbox Code Playgroud)

所以为了用单个项目定义一个元组,你必须添加逗号:(53,)