2017-11-02 6 views
0

私はdatabricksコミュニティ版でsparkdlを使用して画像の分類を行っています。 すべてのライブラリを追加しました。 私は画像データを使ってデータフレームを作成しました。あなたの質問のタイトルからConsoleBuffer 'オブジェクトに属性がありません' isatty '

from pyspark.ml.classification import LogisticRegression 
from pyspark.ml import Pipeline 
from sparkdl import DeepImageFeaturizer 

featurizer = DeepImageFeaturizer(inputCol="image", outputCol="features", modelName="InceptionV3") 
lr = LogisticRegression(maxIter=20, regParam=0.05, elasticNetParam=0.3, labelCol="label") 
p = Pipeline(stages=[featurizer, lr]) 

p_model = p.fit(train_df) 




    AttributeError       Traceback (most recent call last) 
<command-2468766328144961> in <module>() 
     7 p = Pipeline(stages=[featurizer, lr]) 
     8 
----> 9 p_model = p.fit(train_df) 

/databricks/spark/python/pyspark/ml/base.py in fit(self, dataset, params) 
    62     return self.copy(params)._fit(dataset) 
    63    else: 
---> 64     return self._fit(dataset) 
    65   else: 
    66    raise ValueError("Params must be either a param map or a list/tuple of param maps, " 

/databricks/spark/python/pyspark/ml/pipeline.py in _fit(self, dataset) 
    104     if isinstance(stage, Transformer): 
    105      transformers.append(stage) 
--> 106      dataset = stage.transform(dataset) 
    107     else: # must be an Estimator 
    108      model = stage.fit(dataset) 

答えて

2

あなたはDatabricks PythonのノートブックにAttributeError: 'ConsoleBuffer' object has no attribute 'isatty'エラーを打っているように、それが聞こえます。

Databricks Runtime 3.3以降を使用している場合は、このバグを修正する必要があります。

import sys 

sys.stdout.isatty = lambda: False 
sys.stdout.encoding = sys.getdefaultencoding() 

Databricks' PythonのREPLはにsys.stdoutを上書きします:Databricksランタイムは、あなたがあなたのPythonのノートブックの先頭に次のコードを実行することにより、sys.stdoutをmonkeypatchingことにより、この問題を回避することができる必要があります以前のリリースで

独自のConsoleBufferクラスを使用し、Databricks Runtime 3.3より前にこのクラスはisattyおよびencodingメソッドを実装していませんでした。

出典:私はこのバグ修正に取り掛かったDatabricks従業員です。

+0

ご協力いただきありがとうございます – megamind

関連する問題