pyspark 模块“tensorflow”没有属性“Session”,sparkdl错误

v440hwme  于 2023-01-01  发布在  Spark
关注(0)|答案(1)|浏览(166)

我尝试在pyspark中使用深度学习,但没有效果。
下面是我代码:

  1. featurizer = DeepImageFeaturizer(inputCol="image",
  2. outputCol="features",
  3. modelName="InceptionV3")
  4. lr = LogisticRegression(maxIter=5, regParam=0.03,
  5. elasticNetParam=0.5, labelCol="label")
  6. sparkdn = Pipeline(stages=[featurizer, lr])
  7. spark_model = sparkdn.fit(train)

错误的最后一部分:

  1. File ~/anaconda3/lib/python3.9/site-packages/sparkdl/transformers/keras_applications.py:45, in KerasApplicationModel.getModelData(self, featurize)
  2. 44 def getModelData(self, featurize):
  3. ---> 45 sess = tf.Session()
  4. 46 with sess.as_default():
  5. 47 K.set_learning_phase(0)
  6. AttributeError: module 'tensorflow' has no attribute 'Session'

我试图卸载并安装tf.另外,我正在运行pyspark与深度学习包:

  1. pyspark --packages databricks:spark-deep-learning:0.1.0-spark2.1-s_2.11
wr98u20j

wr98u20j1#

您似乎正在尝试使用spark-deep-learning package中的DeepImageFeaturizer转换器。如果您的系统上安装了旧版本的TensorFlow,或者您使用的TensorFlow版本与spark-deep-learning package不兼容,则通常会发生此错误。
请尝试以下操作:
使用pip uninstall tensorflow卸载当前版本的TensorFlow。
然后安装最新版本的TensorFlow:pip install tensorflow.
确保您使用的TensorFlow版本与spark-deep-learning package兼容。根据文档,它需要TensorFlow 1.6或更高版本。
运行代码之前,请尝试将环境变量TF_CPP_MIN_LOG_LEVEL设置为3。这有助于抑制某些TensorFlow警告和错误。

相关问题