这个问题可能很愚蠢,但我对Python还不太了解,不知道发生了什么.

model = Sequential(
   # ...
)

predictions = model(x_train[:1]).numpy()

有人能解释一下model(x_train[:1])在这里做什么吗?据我所知,模型是一个已经在上面构建的对象?这是否将对象用作方法/函数?还是这里发生了什么事?

推荐答案

在本例中,Tensorflow的作者为tf.keras.Sequential类层次 struct 中的__call__个"魔法方法"提供了一个实现.

这允许您像调用函数一样调用对象的实例.对model = Sequential(...)的调用通过__init__构造函数初始化类本身.model()调用__call__魔术方法.

Tensorflow和torch将其用作方便的包装,以便在网络中向前传递(在大多数情况下).

Python相关问答推荐

Pandas 在最近的日期合并,考虑到破产

根据不同列的值在收件箱中移动数据

为什么符号没有按顺序添加?

Python解析整数格式说明符的规则?

numpy卷积与有效

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

海上重叠直方图

给定高度约束的旋转角解析求解

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

如何在图中标记平均点?

不允许访问非IPM文件夹

判断solve_ivp中的事件

关于两个表达式的区别

多索引数据帧到标准索引DF

通过对列的其余部分进行采样,在Polars DataFrame中填充_null`?

Groupby并在组内比较单独行上的两个时间戳

对列中的数字进行迭代,得到n次重复开始的第一个行号

为什么这个正则表达式没有捕获最后一次输入?

这是什么排序算法?(将迭代器与自身合并&&Q;)

判断字典键、值对是否满足用户定义的搜索条件