Jupyter Notebook中导入的Python函数无法识别已加载的TensorFlow包
解决NameError: name 'tf' is not defined问题
错误根源是你的modelDefinition.py文件中直接使用了tf,但该文件没有导入TensorFlow模块。尽管Jupyter Notebook里导入了tensorflow,但模块和Notebook属于独立的命名空间,调用者的导入不会自动传递给被导入的模块。
修复方法
在modelDefinition.py的最顶部添加TensorFlow的导入语句:
import tensorflow as tf def modelDef(ckpt_dir,l2,dr,img_size=80,n_bands=3,nf=32): regularizer = tf.keras.regularizers.l2(l2) initializer = tf.keras.initializers.glorot_normal() # model definitions ... return model
补充说明
每个Python模块都有自己独立的命名空间,导入模块时,模块内的代码会在自身命名空间中执行,不会共享调用环境的导入内容。因此,模块内用到的外部库必须在模块内部显式导入,这是Python的基础规则。
内容的提问来源于stack exchange,提问作者Lihao Zheng
相关产品推荐
相关产品推荐

