Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: module 'tensorflow.contrib.learn' has no attribute 'TensorFlowDNNClassifier'

This is the ml tensorflow code I am trying to execute -

import tensorflow.contrib.learn as skflow
from sklearn import datasets, metrics
iris = datasets.load_iris()
classifier = skflow.TensorFlowDNNClassifier(hidden_units=[10, 20, 10], n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(iris.target, classifier.predict(iris.data))

print("Accuracy: %f" % score)

It gives the following error -

Traceback (most recent call last):

File "C:\Users\admin\test3.py", line 5, in

classifier = skflow.TensorFlowDNNClassifier(hidden_units=[10, 20, 10], n_classes=3) AttributeError: module 'tensorflow.contrib.learn' has no attribute 'TensorFlowDNNClassifier'

[Finished in 69.3s with exit code 1]

[shell_cmd: python -u "C:\Users\admin\test3.py"]

like image 680
siddhartha subramaniyam Avatar asked Dec 29 '16 02:12

siddhartha subramaniyam


1 Answers

There seems to have been a major refactor in the TensorFlow project, and all the skflow code has been moved under the main tensorflow repository.

Try to replace TensorFlowDNNClassifier with just DNNClassifier. The new class can be found out here. Your corrected code will look like,

import tensorflow.contrib.learn as skflow
from sklearn import datasets, metrics
iris = datasets.load_iris()
# made a change in the next line
classifier = skflow.DNNClassifier(hidden_units=[10, 20, 10], n_classes=3)
classifier.fit(iris.data, iris.target)
score = metrics.accuracy_score(iris.target, classifier.predict(iris.data))

print("Accuracy: %f" % score)
like image 140
martianwars Avatar answered Oct 16 '22 23:10

martianwars