1

私はKeras Regressor(TensorFlowを使用)のデータセットで小さなテストをしようとしていますが、小さな問題があります。このエラーは、scikitから関数cross_val_scoreにあるようです。それはそれで始まり、最後のエラーメッセージは次のとおりです。Keras、TensorFlow、scikit(tf.global_variables())の互換性の問題

File "/usr/local/lib/python2.7/dist-packages/Keras-2.0.2-py2.7.egg/keras/backend/tensorflow_backend.py", line 298, in _initialize_variables 
variables = tf.global_variables() 
AttributeError: 'module' object has no attribute 'global_variables' 

私の完全なコードは、基本的には、小さな変化とhttp://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/で見つかった例です。 "module"オブジェクトに 'global_variables'という属性がありません。これはTensorflowバージョンに関するものですが、最新のもの(1.0)を使用していて、コードに関数がありませんそれは私が変更できるtfで直接動作します。以下は私のフルコードですが、とにかく私はそれが動作するように変更することができますか?おかげで助け

import numpy 
import pandas 
import sys 

from keras.models import Sequential 
from keras.layers import Dense 
from keras.wrappers.scikit_learn import KerasRegressor 
from sklearn.model_selection import cross_val_score 
from sklearn.model_selection import KFold 
from sklearn.preprocessing import StandardScaler 
from sklearn.pipeline import Pipeline 
from sklearn.datasets import load_svmlight_file 


# define base mode 
def baseline_model(): 
     # create model 
     model = Sequential() 
     model.add(Dense(68, activation="relu", kernel_initializer="normal", input_dim=68)) 
     model.add(Dense(1, kernel_initializer="normal")) 
     # Compile model 
     model.compile(loss='mean_squared_error', optimizer='adam') 
     return model 

X, y, query_id = load_svmlight_file(str(sys.argv[1]), query_id=True) 
scaler = StandardScaler() 
X = scaler.fit_transform(X.toarray()) 

# fix random seed for reproducibility 
seed = 1 
numpy.random.seed(seed) 
# evaluate model with standardized dataset 
estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=5, verbose=0) 

kfold = KFold(n_splits=5, random_state=seed) 
results = cross_val_score(estimator, X, y, cv=kfold) 
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std())) 
+0

私は同じ問題がありました。しかし、最終的にそれを修正してください。私が何をしたか教えてください:https://www.tensorflow.org/install/install_linux#InstallingAnacondaのようにcondor環境にテンソルフローをインストールし、conda環境にKerasもインストールしました。次に、すべての依存関係(numpyなど)が必要です。重要なのは、それらのすべての最新バージョンです。それはついに私のために働いた。それが役に立てば幸い。 – David

答えて

1

のためにあなたは、おそらく古いTensorflowバージョンがtensorflow 1.2.0rc2をインストールし使用していると、あなたは問題ないはずです。

+0

はい、私はそれが更新されたと思ったが、そうではなかった。助けてくれてありがとう! –