게시 된 자습서를 통해 TensorFlow를 시작하게되었습니다.tf.contrib.learn 빠른 시작 : Fix float64 경고
저는 리눅스 CPU python2.7 버전 0.10.0을 Fedora 23 (23 개)에서 실행합니다.
다음 코드에 따라 tf.contrib.learn Quickstart 튜토리얼을 시도하고 있습니다. 강령 실행
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
import numpy as np
# Data sets
IRIS_TRAINING = "IRIS_data/iris_training.csv"
IRIS_TEST = "IRIS_data/iris_test.csv"
# Load datasets.
training_set = tf.contrib.learn.datasets.base.load_csv(filename=IRIS_TRAINING,
target_dtype=np.int)
test_set = tf.contrib.learn.datasets.base.load_csv(filename=IRIS_TEST,
target_dtype=np.int)
# Specify that all features have real-value data
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)]
# Build 3 layer DNN with 10, 20, 10 units respectively.
classifier = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
hidden_units=[10, 20, 10],
n_classes=3,
model_dir="/tmp/iris_model")
# Fit model.
classifier.fit(x=training_set.data,
y=training_set.target,
steps=2000)
# Evaluate accuracy.
accuracy_score = classifier.evaluate(x=test_set.data,
y=test_set.target)["accuracy"]
print('Accuracy: {0:f}'.format(accuracy_score))
# Classify two new flower samples.
new_samples = np.array(
[[6.4, 3.2, 4.5, 1.5], [5.8, 3.1, 5.0, 1.7]], dtype=float)
y = classifier.predict(new_samples)
print('Predictions: {}'.format(str(y)))
https://www.tensorflow.org/versions/r0.10/tutorials/tflearn/index.html#tf-contrib-learn-quickstart
,하지만 float64 경고를 제공합니다. 예를 들면 :$ python confErr.py WARNING:tensorflow:load_csv (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed after 2016-09-15. Instructions for updating: Please use load_csv_{with|without}_header instead. WARNING:tensorflow:load_csv (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed after 2016-09-15. Instructions for updating: Please use load_csv_{with|without}_header instead. WARNING:tensorflow:Using default config. WARNING:tensorflow:float64 is not supported by many models, consider casting to float32. WARNING:tensorflow:Setting feature info to TensorSignature(dtype=tf.float64, shape=TensorShape([Dimension(None), Dimension(4)]), is_sparse=False) WARNING:tensorflow:Setting targets info to TensorSignature(dtype=tf.int64, shape=TensorShape([Dimension(None)]), is_sparse=False) WARNING:tensorflow:float64 is not supported by many models, consider casting to float32. WARNING:tensorflow:Given features: Tensor("input:0", shape=(?, 4), dtype=float64), required signatures: TensorSignature(dtype=tf.float64, shape=TensorShape([Dimension(None), Dimension(4)]), is_sparse=False). WARNING:tensorflow:Given targets: Tensor("output:0", shape=(?,), dtype=int64), required signatures: TensorSignature(dtype=tf.int64, shape=TensorShape([Dimension(None)]), is_sparse=False). Accuracy: 0.966667 WARNING:tensorflow:float64 is not supported by many models, consider casting to float32. Predictions: [1 1]
주 : '()는 load_csv_with_header'정확한 예측을 생산와 'load_csv()를'대체합니다. 그러나 float64 경고가 남아 있습니다.
나는 training_set, test_set 및 new_samples에 대해 dtype (np.int32; np.float32; tf.int32; tf.float32)을 명시 적으로 나열하려고했습니다.
은 또한으로 feature_columns을 '캐스팅'시도 : float64 개발 문제를 알려진 함께
feature_columns = tf.cast(feature_columns, tf.float32)
문제점,하지만 어떤 해결 방법이 있는지 궁금 하군요?