首页 > 解决方案 > 当使用 Python TensorFlow 输入形状 (53,))... 这个逗号是怎么回事?

问题描述

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

input_img = Input(shape=(53,))

我有一批 52 张图像,但一个元组怎么能在逗号后什么都没有?这是什么意思?

标签: pythonpython-3.xtensorflowkeraskeras-layer

解决方案


函数Input将参数形状的元组除外

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

type( 53 )
<class 'int'>
type( (53) )
<class 'int'>
type( (53,) )
<class 'tuple'>

这是因为简单的括号用于计算,因此不能解析元组:

(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

因此,为了定义一个包含单个项目的元组,您必须添加逗号:(53,)


推荐阅读