TensorFlow重训练与全连接层模型定义:为何x未被覆盖?
关于变量x赋值的问题
你这段代码里x确实在被重新赋值,但这里的x不是普通的数值变量,而是Keras的层输出张量对象,每一次赋值都是在构建模型的计算链路:
- 第一行:以
last_output为输入创建Flatten层,将该层的输出张量赋值给x - 第二行:把当前x(Flatten层的输出)作为输入创建Dense层,再将新层的输出张量覆盖给x
- 后续两行逻辑一致,每次都是基于前一层的输出创建新层,然后更新x的指向
你觉得x没被覆盖,大概率是混淆了普通变量和Keras张量的区别——这里的x只是临时存储每一步的层输出,方便链式构建模型,本质上每次赋值后x都指向了一个全新的张量对象。
内容的提问来源于stack exchange,提问作者gros chat
相关产品推荐
相关产品推荐

