Facies Classification Solution By Team_BGC

Cheolkyun Jeong and Ping Zhang From Team_BGC

Import Header


In [28]:
##### import basic function
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
##### import stuff from scikit learn
from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor
from sklearn.model_selection import KFold, cross_val_score,LeavePGroupsOut, LeaveOneGroupOut, cross_val_predict
from sklearn.metrics import confusion_matrix, make_scorer, f1_score, accuracy_score, recall_score, precision_score

1. Data Prepocessing

1) Filtered data preparation

After the initial data validation, we figure out the NM_M input is a key differentiator to group non-marine stones (sandstone, c_siltstone, and f_siltstone) and marine stones (marine_silt_shale, mudstone, wakestone, dolomite, packstone, and bafflestone) in the current field. Our team decides to use this classifier aggressively and prepare a filtered dataset which cleans up the outliers.


In [29]:
# Input file paths
facies_vector_path = 'facies_vectors.csv'
train_path = 'training_data.csv'
test_path = 'validation_data_nofacies.csv'
# Read training data to dataframe
#training_data = pd.read_csv(train_path)

Using Full data to train


In [30]:
# 1=sandstone  2=c_siltstone   3=f_siltstone # 4=marine_silt_shale 
#5=mudstone 6=wackestone 7=dolomite 8=packstone 9=bafflestone
facies_colors = ['#F4D03F', '#F5B041', '#DC7633','#A569BD',
       '#000000', '#000080', '#2E86C1', '#AED6F1', '#196F3D']
feature_names = ['GR', 'ILD_log10', 'DeltaPHI', 'PHIND', 'PE', 'NM_M', 'RELPOS']

facies_labels = ['SS', 'CSiS', 'FSiS', 'SiSh', 'MS',
                 'WS', 'D','PS', 'BS']
#facies_color_map is a dictionary that maps facies labels
#to their respective colors

In [31]:
training_data = pd.read_csv(facies_vector_path)

In [32]:
facies_color_map = {}
for ind, label in enumerate(facies_labels):
    facies_color_map[label] = facies_colors[ind]

def label_facies(row, labels):
    return labels[ row['Facies'] -1]
    
training_data.loc[:,'FaciesLabels'] = training_data.apply(lambda row: label_facies(row, facies_labels), axis=1)
training_data.describe()

# Fitering out some outliers
j = []
for i in range(len(training_data)):
    if ((training_data['NM_M'].values[i]==2)and ((training_data['Facies'].values[i]==1)or(training_data['Facies'].values[i]==2)or(training_data['Facies'].values[i]==3))):
        j.append(i)
    elif((training_data['NM_M'].values[i]==1)and((training_data['Facies'].values[i]!=1)and(training_data['Facies'].values[i]!=2)and(training_data['Facies'].values[i]!=3))):
        j.append(i)

training_data_filtered = training_data.drop(training_data.index[j])
print(np.shape(training_data_filtered))


(4095, 12)
C:\Anaconda3\lib\site-packages\numpy\lib\function_base.py:4116: RuntimeWarning: Invalid value encountered in percentile
  interpolation=interpolation)

Add Missing PE by following AR4 Team


In [33]:
#X = training_data_filtered[feature_names].values
# Testing without filtering
X = training_data[feature_names].values

reg = RandomForestRegressor(max_features='sqrt', n_estimators=50)
# DataImpAll = training_data_filtered[feature_names].copy()
DataImpAll = training_data[feature_names].copy()
DataImp = DataImpAll.dropna(axis = 0, inplace=False)
Ximp=DataImp.loc[:, DataImp.columns != 'PE']
Yimp=DataImp.loc[:, 'PE']
reg.fit(Ximp, Yimp)
X[np.array(DataImpAll.PE.isnull()),4] = reg.predict(DataImpAll.loc[DataImpAll.PE.isnull(),:].drop('PE',axis=1,inplace=False))

2. Feature Selection

Log Plot of Facies

Filtered Data


In [34]:
#count the number of unique entries for each facies, sort them by
#facies number (instead of by number of entries)
#facies_counts_filtered = training_data_filtered['Facies'].value_counts().sort_index()
facies_counts = training_data['Facies'].value_counts().sort_index()
#use facies labels to index each count
#facies_counts_filtered.index = facies_labels
facies_counts.index = facies_labels

#facies_counts_filtered.plot(kind='bar',color=facies_colors, 
#                   title='Distribution of Filtered Training Data by Facies')
facies_counts.plot(kind='bar',color=facies_colors, 
                   title='Distribution of Filtered Training Data by Facies')
#facies_counts_filtered
#training_data_filtered.columns
#facies_counts_filtered

training_data.columns
facies_counts


Out[34]:
SS      268
CSiS    940
FSiS    780
SiSh    271
MS      296
WS      582
D       141
PS      686
BS      185
Name: Facies, dtype: int64

Filtered facies


In [35]:
#correct_facies_labels_filtered = training_data_filtered['Facies'].values
#feature_vectors_filtered = training_data_filtered.drop(['Formation', 'Well Name', 'Depth','Facies','FaciesLabels'], axis=1)
correct_facies_labels = training_data['Facies'].values
feature_vectors = training_data.drop(['Formation', 'Well Name', 'Depth','Facies','FaciesLabels'], axis=1)

In [36]:
from sklearn import preprocessing
#scaler_filtered = preprocessing.StandardScaler().fit(X)
#scaled_features_filtered = scaler_filtered.transform(X)
scaler = preprocessing.StandardScaler().fit(X)
scaled_features = scaler.transform(X)

In [38]:
from sklearn.cross_validation import train_test_split
#X_train_filtered, X_test_filtered, y_train_filtered, y_test_filtered = train_test_split(
#        scaled_features_filtered, correct_facies_labels_filtered, test_size=0.3, random_state=16)

X_train, X_test, y_train, y_test = train_test_split(
        scaled_features, correct_facies_labels, test_size=0.3, random_state=16)

In [39]:
X_train_full, X_test_zero, y_train_full, y_test_full = train_test_split(
        scaled_features, correct_facies_labels, test_size=0.0, random_state=42)

3. Prediction Model

Accuracy


In [40]:
def accuracy(conf):
    total_correct = 0.
    nb_classes = conf.shape[0]
    for i in np.arange(0,nb_classes):
        total_correct += conf[i][i]
    acc = total_correct/sum(sum(conf))
    return acc

In [41]:
adjacent_facies = np.array([[1], [0,2], [1], [4], [3,5], [4,6,7], [5,7], [5,6,8], [6,7]])

def accuracy_adjacent(conf, adjacent_facies):
    nb_classes = conf.shape[0]
    total_correct = 0.
    for i in np.arange(0,nb_classes):
        total_correct += conf[i][i]
        for j in adjacent_facies[i]:
            total_correct += conf[i][j]
    return total_correct / sum(sum(conf))

SVM


In [42]:
from sklearn.model_selection import KFold, cross_val_score,LeavePGroupsOut, LeaveOneGroupOut, cross_val_predict
from classification_utilities import display_cm, display_adj_cm

In [43]:
from sklearn import svm
clf_filtered = svm.LinearSVC(random_state=23)

In [44]:
#clf_filtered.fit(X_train_filtered, y_train_filtered)
clf_filtered.fit(X_train, y_train)


Out[44]:
LinearSVC(C=1.0, class_weight=None, dual=True, fit_intercept=True,
     intercept_scaling=1, loss='squared_hinge', max_iter=1000,
     multi_class='ovr', penalty='l2', random_state=23, tol=0.0001,
     verbose=0)

In [45]:
#predicted_labels_filtered = clf_filtered.predict(X_test_filtered)
predicted_labels = clf_filtered.predict(X_test)

SVM for filtered data model

4. Result Analysis


In [48]:
well_data = pd.read_csv('validation_data_nofacies.csv')
well_data['Well Name'] = well_data['Well Name'].astype('category')
well_features = well_data.drop(['Formation', 'Well Name', 'Depth'], axis=1)

In [49]:
X_unknown = scaler_filtered.transform(well_features)

# Using all data and optimize parameter to train the data
clf_filtered = svm.SVC(C=10, gamma=1)
clf_filtered.fit(X_train_full, y_train_full)
#clf_filtered.fit(X_train_filtered, y_train_filtered)
y_unknown = clf_filtered.predict(X_unknown)
well_data['Facies'] = y_unknown
well_data
well_data.to_csv('predict_result_svm_full_data.csv')

5. Using Tensorflow

Filtered Data Model


In [50]:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf

# Specify that all features have real-value data
feature_columns_filtered = [tf.contrib.layers.real_valued_column("", dimension=7)]

# Build 3 layer DNN with 7, 17, 10 units respectively.
classifier_filtered = tf.contrib.learn.DNNClassifier(feature_columns=feature_columns_filtered,
                                            hidden_units=[7, 17, 10],
                                            n_classes=10)

# Fit model.
#classifier_filtered.fit(x=X_train_filtered,y=y_train_filtered,steps=5000)
#y_predict_filtered = []
#predictions = classifier_filtered.predict(x=X_test_filtered)

classifier_filtered.fit(x=X_train,y=y_train,steps=5000)
y_predict = []
predictions = classifier_filtered.predict(x=X_test)


for i, p in enumerate(predictions):
    y_predict.append(p)
    #print("Index %s: Prediction - %s, Real - %s" % (i + 1, p, y_test_filtered[i]))

# Evaluate accuracy.
#accuracy_score_filtered = classifier_filtered.evaluate(x=X_test_filtered, y=y_test_filtered)["accuracy"]
#print('Accuracy: {0:f}'.format(accuracy_score_filtered))
accuracy_score = classifier_filtered.evaluate(x=X_test, y=y_test)["accuracy"]
print('Accuracy: {0:f}'.format(accuracy_score))

cv_conf_dnn = confusion_matrix(y_test, y_predict)

print('Optimized facies classification accuracy = %.2f' % accuracy(cv_conf_dnn))
print('Optimized adjacent facies classification accuracy = %.2f' % accuracy_adjacent(cv_conf_dnn, adjacent_facies))
display_cm(cv_conf_dnn, facies_labels,display_metrics=True, hide_zeros=True)


WARNING:tensorflow:Using temporary folder as model directory: C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1
INFO:tensorflow:Using default config.
INFO:tensorflow:Using config: {'_evaluation_master': '', '_master': '', '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x0000000013C74C50>, 'tf_random_seed': None, 'tf_config': gpu_options {
  per_process_gpu_memory_fraction: 1
}
, '_num_ps_replicas': 0, 'keep_checkpoint_every_n_hours': 10000, 'keep_checkpoint_max': 5, 'save_checkpoints_secs': 600, '_environment': 'local', 'save_checkpoints_steps': None, 'save_summary_steps': 100, '_task_id': 0, '_is_chief': True, '_task_type': None}
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with x is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with y is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with batch_size is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:float64 is not supported by many models, consider casting to float32.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:loss = 2.33411, step = 1
INFO:tensorflow:Saving checkpoints for 1 into C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt.
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format has been deprecated.
WARNING:tensorflow:Consider switching to the more efficient V2 format:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:now on by default.
WARNING:tensorflow:*******************************************************
INFO:tensorflow:loss = 1.437, step = 101
INFO:tensorflow:global_step/sec: 43.6466
INFO:tensorflow:loss = 1.19297, step = 201
INFO:tensorflow:global_step/sec: 61.5349
INFO:tensorflow:loss = 1.09089, step = 301
INFO:tensorflow:global_step/sec: 60.8238
INFO:tensorflow:loss = 1.04507, step = 401
INFO:tensorflow:global_step/sec: 61.4593
INFO:tensorflow:loss = 1.0207, step = 501
INFO:tensorflow:global_step/sec: 59.379
INFO:tensorflow:loss = 1.00274, step = 601
INFO:tensorflow:global_step/sec: 60.2013
INFO:tensorflow:loss = 0.991238, step = 701
INFO:tensorflow:global_step/sec: 61.4593
INFO:tensorflow:loss = 0.982966, step = 801
INFO:tensorflow:global_step/sec: 60.4926
INFO:tensorflow:loss = 0.977137, step = 901
INFO:tensorflow:global_step/sec: 61.7249
INFO:tensorflow:loss = 0.972317, step = 1001
INFO:tensorflow:global_step/sec: 59.1682
INFO:tensorflow:loss = 0.96791, step = 1101
INFO:tensorflow:global_step/sec: 58.6133
INFO:tensorflow:loss = 0.963676, step = 1201
INFO:tensorflow:global_step/sec: 60.2738
INFO:tensorflow:loss = 0.959058, step = 1301
INFO:tensorflow:global_step/sec: 60.383
INFO:tensorflow:loss = 0.954611, step = 1401
INFO:tensorflow:global_step/sec: 60.5659
INFO:tensorflow:loss = 0.95038, step = 1501
INFO:tensorflow:global_step/sec: 60.0566
INFO:tensorflow:loss = 0.946211, step = 1601
INFO:tensorflow:global_step/sec: 59.3438
INFO:tensorflow:loss = 0.942419, step = 1701
INFO:tensorflow:global_step/sec: 59.4143
INFO:tensorflow:loss = 0.939052, step = 1801
INFO:tensorflow:global_step/sec: 58.4079
INFO:tensorflow:loss = 0.935582, step = 1901
INFO:tensorflow:global_step/sec: 58.9589
INFO:tensorflow:loss = 0.932601, step = 2001
INFO:tensorflow:global_step/sec: 58.6477
INFO:tensorflow:loss = 0.929736, step = 2101
INFO:tensorflow:global_step/sec: 61.4593
INFO:tensorflow:loss = 0.927038, step = 2201
INFO:tensorflow:global_step/sec: 61.2335
INFO:tensorflow:loss = 0.923959, step = 2301
INFO:tensorflow:global_step/sec: 61.0839
INFO:tensorflow:loss = 0.921251, step = 2401
INFO:tensorflow:global_step/sec: 60.1289
INFO:tensorflow:loss = 0.918286, step = 2501
INFO:tensorflow:global_step/sec: 61.3086
INFO:tensorflow:loss = 0.915599, step = 2601
INFO:tensorflow:global_step/sec: 61.271
INFO:tensorflow:loss = 0.912805, step = 2701
INFO:tensorflow:global_step/sec: 61.0093
INFO:tensorflow:loss = 0.910149, step = 2801
INFO:tensorflow:global_step/sec: 61.1212
INFO:tensorflow:loss = 0.906426, step = 2901
INFO:tensorflow:global_step/sec: 52.7674
INFO:tensorflow:loss = 0.903771, step = 3001
INFO:tensorflow:global_step/sec: 56.4939
INFO:tensorflow:loss = 0.901143, step = 3101
INFO:tensorflow:global_step/sec: 61.1586
INFO:tensorflow:loss = 0.898672, step = 3201
INFO:tensorflow:global_step/sec: 59.4496
INFO:tensorflow:loss = 0.895967, step = 3301
INFO:tensorflow:global_step/sec: 61.196
INFO:tensorflow:loss = 0.893695, step = 3401
INFO:tensorflow:global_step/sec: 58.5104
INFO:tensorflow:loss = 0.891894, step = 3501
INFO:tensorflow:global_step/sec: 57.6004
INFO:tensorflow:loss = 0.889658, step = 3601
INFO:tensorflow:global_step/sec: 57.5672
INFO:tensorflow:loss = 0.887669, step = 3701
INFO:tensorflow:global_step/sec: 56.4302
INFO:tensorflow:loss = 0.886017, step = 3801
INFO:tensorflow:global_step/sec: 59.2383
INFO:tensorflow:loss = 0.883678, step = 3901
INFO:tensorflow:global_step/sec: 57.6668
INFO:tensorflow:loss = 0.881762, step = 4001
INFO:tensorflow:global_step/sec: 60.713
INFO:tensorflow:loss = 0.880063, step = 4101
INFO:tensorflow:global_step/sec: 57.5672
INFO:tensorflow:loss = 0.878444, step = 4201
INFO:tensorflow:global_step/sec: 61.7249
INFO:tensorflow:loss = 0.876761, step = 4301
INFO:tensorflow:global_step/sec: 61.4593
INFO:tensorflow:loss = 0.87526, step = 4401
INFO:tensorflow:global_step/sec: 60.8608
INFO:tensorflow:loss = 0.873608, step = 4501
INFO:tensorflow:global_step/sec: 61.1586
INFO:tensorflow:loss = 0.872392, step = 4601
INFO:tensorflow:global_step/sec: 62.0697
INFO:tensorflow:loss = 0.870554, step = 4701
INFO:tensorflow:global_step/sec: 58.1362
INFO:tensorflow:loss = 0.868547, step = 4801
INFO:tensorflow:global_step/sec: 59.5204
INFO:tensorflow:loss = 0.86671, step = 4901
INFO:tensorflow:global_step/sec: 58.5104
INFO:tensorflow:Saving checkpoints for 5000 into C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt.
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format has been deprecated.
WARNING:tensorflow:Consider switching to the more efficient V2 format:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:now on by default.
WARNING:tensorflow:*******************************************************
INFO:tensorflow:Loss for final step: 0.864909.
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with x is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with batch_size is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with as_iterable is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:float64 is not supported by many models, consider casting to float32.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
INFO:tensorflow:Loading model from checkpoint: C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt-5000-?????-of-00001.
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:323 in evaluate.: calling BaseEstimator.evaluate (from tensorflow.contrib.learn.python.learn.estimators.estimator) with x is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:323 in evaluate.: calling BaseEstimator.evaluate (from tensorflow.contrib.learn.python.learn.estimators.estimator) with y is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:323 in evaluate.: calling BaseEstimator.evaluate (from tensorflow.contrib.learn.python.learn.estimators.estimator) with batch_size is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:float64 is not supported by many models, consider casting to float32.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
INFO:tensorflow:Restored model from C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1
INFO:tensorflow:Eval steps [0,inf) for training step 5000.
INFO:tensorflow:Input iterator is exhausted.
INFO:tensorflow:Saving evaluation summary for step 5000: accuracy = 0.595984, loss = 0.974486
Accuracy: 0.595984
Optimized facies classification accuracy = 0.60
Optimized adjacent facies classification accuracy = 0.92
     Pred    SS  CSiS  FSiS  SiSh    MS    WS     D    PS    BS Total
     True
       SS    48    40     4                                        92
     CSiS    16   211    64                 1     1               293
     FSiS     3    72   145     1           2           3         226
     SiSh     1           1    53          21                      76
       MS           2     2    20    10    33     1    15     1    84
       WS                 1    24    22    95     3    45     2   192
        D                       1           2    26    12          41
       PS           1     2     2     6    43     9   123     8   194
       BS                                   3     1    12    31    47

Precision  0.71  0.65  0.66  0.52  0.26  0.47  0.63  0.59  0.74  0.59
   Recall  0.52  0.72  0.64  0.70  0.12  0.49  0.63  0.63  0.66  0.60
       F1  0.60  0.68  0.65  0.60  0.16  0.48  0.63  0.61  0.70  0.59

Result from DNN


In [53]:
classifier_filtered.fit(x=X_train_full,
               y=y_train_full,
               steps=10000)
predictions = classifier_filtered.predict(X_unknown)
y_predict_filtered = []
for i, p in enumerate(predictions):
    y_predict_filtered.append(p)
well_data['Facies'] = y_predict_filtered
well_data
well_data.to_csv('predict_result_dnn_full_data.csv')


WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with x is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with y is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:315 in fit.: calling BaseEstimator.fit (from tensorflow.contrib.learn.python.learn.estimators.estimator) with batch_size is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:float64 is not supported by many models, consider casting to float32.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
INFO:tensorflow:Create CheckpointSaverHook.
INFO:tensorflow:loss = 0.801393, step = 25001
INFO:tensorflow:Saving checkpoints for 25001 into C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt.
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format has been deprecated.
WARNING:tensorflow:Consider switching to the more efficient V2 format:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:now on by default.
WARNING:tensorflow:*******************************************************
INFO:tensorflow:loss = 0.801296, step = 25101
INFO:tensorflow:global_step/sec: 86.202
INFO:tensorflow:loss = 0.80132, step = 25201
INFO:tensorflow:global_step/sec: 112.988
INFO:tensorflow:loss = 0.801179, step = 25301
INFO:tensorflow:global_step/sec: 110.981
INFO:tensorflow:loss = 0.801103, step = 25401
INFO:tensorflow:global_step/sec: 114.541
INFO:tensorflow:loss = 0.801085, step = 25501
INFO:tensorflow:global_step/sec: 114.672
INFO:tensorflow:loss = 0.80099, step = 25601
INFO:tensorflow:global_step/sec: 110.613
INFO:tensorflow:loss = 0.800877, step = 25701
INFO:tensorflow:global_step/sec: 110.736
INFO:tensorflow:loss = 0.80094, step = 25801
INFO:tensorflow:global_step/sec: 109.403
INFO:tensorflow:loss = 0.800796, step = 25901
INFO:tensorflow:global_step/sec: 113.63
INFO:tensorflow:loss = 0.800661, step = 26001
INFO:tensorflow:global_step/sec: 109.643
INFO:tensorflow:loss = 0.800603, step = 26101
INFO:tensorflow:global_step/sec: 114.019
INFO:tensorflow:loss = 0.800587, step = 26201
INFO:tensorflow:global_step/sec: 110.613
INFO:tensorflow:loss = 0.80045, step = 26301
INFO:tensorflow:global_step/sec: 109.763
INFO:tensorflow:loss = 0.800405, step = 26401
INFO:tensorflow:global_step/sec: 111.85
INFO:tensorflow:loss = 0.800526, step = 26501
INFO:tensorflow:global_step/sec: 114.019
INFO:tensorflow:loss = 0.800401, step = 26601
INFO:tensorflow:global_step/sec: 109.884
INFO:tensorflow:loss = 0.800347, step = 26701
INFO:tensorflow:global_step/sec: 111.85
INFO:tensorflow:loss = 0.800231, step = 26801
INFO:tensorflow:global_step/sec: 110.369
INFO:tensorflow:loss = 0.800058, step = 26901
INFO:tensorflow:global_step/sec: 113.244
INFO:tensorflow:loss = 0.800157, step = 27001
INFO:tensorflow:global_step/sec: 114.41
INFO:tensorflow:loss = 0.799957, step = 27101
INFO:tensorflow:global_step/sec: 112.988
INFO:tensorflow:loss = 0.799961, step = 27201
INFO:tensorflow:global_step/sec: 112.353
INFO:tensorflow:loss = 0.799975, step = 27301
INFO:tensorflow:global_step/sec: 111.725
INFO:tensorflow:loss = 0.799915, step = 27401
INFO:tensorflow:global_step/sec: 111.85
INFO:tensorflow:loss = 0.799704, step = 27501
INFO:tensorflow:global_step/sec: 111.976
INFO:tensorflow:loss = 0.799703, step = 27601
INFO:tensorflow:global_step/sec: 110.126
INFO:tensorflow:loss = 0.799638, step = 27701
INFO:tensorflow:global_step/sec: 106.038
INFO:tensorflow:loss = 0.799573, step = 27801
INFO:tensorflow:global_step/sec: 110.858
INFO:tensorflow:loss = 0.799511, step = 27901
INFO:tensorflow:global_step/sec: 108.102
INFO:tensorflow:loss = 0.799461, step = 28001
INFO:tensorflow:global_step/sec: 111.228
INFO:tensorflow:loss = 0.79944, step = 28101
INFO:tensorflow:global_step/sec: 112.101
INFO:tensorflow:loss = 0.799365, step = 28201
INFO:tensorflow:global_step/sec: 113.116
INFO:tensorflow:loss = 0.799323, step = 28301
INFO:tensorflow:global_step/sec: 113.244
INFO:tensorflow:loss = 0.799293, step = 28401
INFO:tensorflow:global_step/sec: 112.606
INFO:tensorflow:loss = 0.799201, step = 28501
INFO:tensorflow:global_step/sec: 109.164
INFO:tensorflow:loss = 0.799338, step = 28601
INFO:tensorflow:global_step/sec: 113.889
INFO:tensorflow:loss = 0.799193, step = 28701
INFO:tensorflow:global_step/sec: 113.501
INFO:tensorflow:loss = 0.79914, step = 28801
INFO:tensorflow:global_step/sec: 111.85
INFO:tensorflow:loss = 0.799127, step = 28901
INFO:tensorflow:global_step/sec: 113.244
INFO:tensorflow:loss = 0.799108, step = 29001
INFO:tensorflow:global_step/sec: 113.244
INFO:tensorflow:loss = 0.798931, step = 29101
INFO:tensorflow:global_step/sec: 110.369
INFO:tensorflow:loss = 0.798836, step = 29201
INFO:tensorflow:global_step/sec: 114.672
INFO:tensorflow:loss = 0.798819, step = 29301
INFO:tensorflow:global_step/sec: 113.63
INFO:tensorflow:loss = 0.798807, step = 29401
INFO:tensorflow:global_step/sec: 110.126
INFO:tensorflow:loss = 0.798798, step = 29501
INFO:tensorflow:global_step/sec: 114.936
INFO:tensorflow:loss = 0.798754, step = 29601
INFO:tensorflow:global_step/sec: 112.227
INFO:tensorflow:loss = 0.798729, step = 29701
INFO:tensorflow:global_step/sec: 111.601
INFO:tensorflow:loss = 0.798665, step = 29801
INFO:tensorflow:global_step/sec: 111.352
INFO:tensorflow:loss = 0.798577, step = 29901
INFO:tensorflow:global_step/sec: 115.6
INFO:tensorflow:loss = 0.798527, step = 30001
INFO:tensorflow:global_step/sec: 114.41
INFO:tensorflow:loss = 0.798449, step = 30101
INFO:tensorflow:global_step/sec: 106.604
INFO:tensorflow:loss = 0.798379, step = 30201
INFO:tensorflow:global_step/sec: 103.087
INFO:tensorflow:loss = 0.798362, step = 30301
INFO:tensorflow:global_step/sec: 110.858
INFO:tensorflow:loss = 0.798389, step = 30401
INFO:tensorflow:global_step/sec: 112.479
INFO:tensorflow:loss = 0.798319, step = 30501
INFO:tensorflow:global_step/sec: 113.759
INFO:tensorflow:loss = 0.798214, step = 30601
INFO:tensorflow:global_step/sec: 112.479
INFO:tensorflow:loss = 0.798352, step = 30701
INFO:tensorflow:global_step/sec: 113.372
INFO:tensorflow:loss = 0.798213, step = 30801
INFO:tensorflow:global_step/sec: 112.48
INFO:tensorflow:loss = 0.798185, step = 30901
INFO:tensorflow:global_step/sec: 113.63
INFO:tensorflow:loss = 0.798037, step = 31001
INFO:tensorflow:global_step/sec: 110.736
INFO:tensorflow:loss = 0.798049, step = 31101
INFO:tensorflow:global_step/sec: 112.86
INFO:tensorflow:loss = 0.798103, step = 31201
INFO:tensorflow:global_step/sec: 115.467
INFO:tensorflow:loss = 0.798003, step = 31301
INFO:tensorflow:global_step/sec: 115.6
INFO:tensorflow:loss = 0.797864, step = 31401
INFO:tensorflow:global_step/sec: 110.369
INFO:tensorflow:loss = 0.797866, step = 31501
INFO:tensorflow:global_step/sec: 111.85
INFO:tensorflow:loss = 0.797736, step = 31601
INFO:tensorflow:global_step/sec: 113.501
INFO:tensorflow:loss = 0.797709, step = 31701
INFO:tensorflow:global_step/sec: 111.476
INFO:tensorflow:loss = 0.797667, step = 31801
INFO:tensorflow:global_step/sec: 112.606
INFO:tensorflow:loss = 0.797669, step = 31901
INFO:tensorflow:global_step/sec: 105.702
INFO:tensorflow:loss = 0.797617, step = 32001
INFO:tensorflow:global_step/sec: 107.636
INFO:tensorflow:loss = 0.7976, step = 32101
INFO:tensorflow:global_step/sec: 107.29
INFO:tensorflow:loss = 0.797556, step = 32201
INFO:tensorflow:global_step/sec: 107.636
INFO:tensorflow:loss = 0.797571, step = 32301
INFO:tensorflow:global_step/sec: 107.636
INFO:tensorflow:loss = 0.797439, step = 32401
INFO:tensorflow:global_step/sec: 115.467
INFO:tensorflow:loss = 0.797492, step = 32501
INFO:tensorflow:global_step/sec: 112.48
INFO:tensorflow:loss = 0.7974, step = 32601
INFO:tensorflow:global_step/sec: 113.759
INFO:tensorflow:loss = 0.797347, step = 32701
INFO:tensorflow:global_step/sec: 114.672
INFO:tensorflow:loss = 0.797282, step = 32801
INFO:tensorflow:global_step/sec: 109.643
INFO:tensorflow:loss = 0.797229, step = 32901
INFO:tensorflow:global_step/sec: 115.068
INFO:tensorflow:loss = 0.797232, step = 33001
INFO:tensorflow:global_step/sec: 111.476
INFO:tensorflow:loss = 0.797171, step = 33101
INFO:tensorflow:global_step/sec: 109.045
INFO:tensorflow:loss = 0.797138, step = 33201
INFO:tensorflow:global_step/sec: 112.988
INFO:tensorflow:loss = 0.797075, step = 33301
INFO:tensorflow:global_step/sec: 114.672
INFO:tensorflow:loss = 0.797032, step = 33401
INFO:tensorflow:global_step/sec: 113.372
INFO:tensorflow:loss = 0.796987, step = 33501
INFO:tensorflow:global_step/sec: 115.334
INFO:tensorflow:loss = 0.797033, step = 33601
INFO:tensorflow:global_step/sec: 112.988
INFO:tensorflow:loss = 0.796924, step = 33701
INFO:tensorflow:global_step/sec: 110.736
INFO:tensorflow:loss = 0.796929, step = 33801
INFO:tensorflow:global_step/sec: 115.201
INFO:tensorflow:loss = 0.796882, step = 33901
INFO:tensorflow:global_step/sec: 112.606
INFO:tensorflow:loss = 0.796704, step = 34001
INFO:tensorflow:global_step/sec: 112.101
INFO:tensorflow:loss = 0.796719, step = 34101
INFO:tensorflow:global_step/sec: 113.63
INFO:tensorflow:loss = 0.796633, step = 34201
INFO:tensorflow:global_step/sec: 111.601
INFO:tensorflow:loss = 0.796525, step = 34301
INFO:tensorflow:global_step/sec: 114.41
INFO:tensorflow:loss = 0.796528, step = 34401
INFO:tensorflow:global_step/sec: 111.725
INFO:tensorflow:loss = 0.796334, step = 34501
INFO:tensorflow:global_step/sec: 110.613
INFO:tensorflow:loss = 0.796327, step = 34601
INFO:tensorflow:global_step/sec: 113.63
INFO:tensorflow:loss = 0.796154, step = 34701
INFO:tensorflow:global_step/sec: 114.804
INFO:tensorflow:loss = 0.795993, step = 34801
INFO:tensorflow:global_step/sec: 110.858
INFO:tensorflow:loss = 0.796062, step = 34901
INFO:tensorflow:global_step/sec: 112.48
INFO:tensorflow:Saving checkpoints for 35000 into C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt.
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format has been deprecated.
WARNING:tensorflow:Consider switching to the more efficient V2 format:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:now on by default.
WARNING:tensorflow:*******************************************************
INFO:tensorflow:Loss for final step: 0.796019.
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with x is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with batch_size is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:348 in predict.: calling BaseEstimator.predict (from tensorflow.contrib.learn.python.learn.estimators.estimator) with as_iterable is deprecated and will be removed after 2016-12-01.
Instructions for updating:
Estimator is decoupled from Scikit Learn interface by moving into
separate class SKCompat. Arguments x, y and batch_size are only
available in the SKCompat class, Estimator will only accept input_fn.
Example conversion:
  est = Estimator(...) -> est = SKCompat(Estimator(...))
WARNING:tensorflow:float64 is not supported by many models, consider casting to float32.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
INFO:tensorflow:Loading model from checkpoint: C:\Users\cjeong\AppData\Local\Temp\tmp1dw3uww1\model.ckpt-35000-?????-of-00001.

In [27]:
#export_dir_path = 'd:\\'
#classifier_filtered.export(export_dir_path)


WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\dnn.py:429 in export.: calling BaseEstimator.export (from tensorflow.contrib.learn.python.learn.estimators.estimator) with use_deprecated_input_fn=True is deprecated and will be removed after 2016-09-23.
Instructions for updating:
The signature of the input_fn accepted by export is changing to be consistent with what's used by tf.Learn Estimator's train/evaluate. input_fn (and in most cases, input_feature_key) will become required args, and use_deprecated_input_fn will default to False and be removed altogether.
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\estimator.py:555 in export.: calling _export_estimator (from tensorflow.contrib.learn.python.learn.utils.export) with default_batch_size=1 is deprecated and will be removed after 2016-09-23.
Instructions for updating:
The signature of the input_fn accepted by export is changing to be consistent with what's used by tf.Learn Estimator's train/evaluate. input_fn and (and in most cases, input_feature_key) will become required args. use_deprecated_input_fn will default to False and be removed. default_batch_size will also be removed since it will now be a part of the input_fn.
WARNING:tensorflow:From C:\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\estimators\estimator.py:555 in export.: calling _export_estimator (from tensorflow.contrib.learn.python.learn.utils.export) with use_deprecated_input_fn=True is deprecated and will be removed after 2016-09-23.
Instructions for updating:
The signature of the input_fn accepted by export is changing to be consistent with what's used by tf.Learn Estimator's train/evaluate. input_fn and (and in most cases, input_feature_key) will become required args. use_deprecated_input_fn will default to False and be removed. default_batch_size will also be removed since it will now be a part of the input_fn.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:fraction_of_zero_values is illegal; using dnn/hiddenlayer_0_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_0:activation is illegal; using dnn/hiddenlayer_0_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:fraction_of_zero_values is illegal; using dnn/hiddenlayer_1_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_1:activation is illegal; using dnn/hiddenlayer_1_activation instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:fraction_of_zero_values is illegal; using dnn/hiddenlayer_2_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/hiddenlayer_2:activation is illegal; using dnn/hiddenlayer_2_activation instead.
INFO:tensorflow:Summary name dnn/logits:fraction_of_zero_values is illegal; using dnn/logits_fraction_of_zero_values instead.
INFO:tensorflow:Summary name dnn/logits:activation is illegal; using dnn/logits_activation instead.
WARNING:tensorflow:*******************************************************
WARNING:tensorflow:TensorFlow's V1 checkpoint format has been deprecated.
WARNING:tensorflow:Consider switching to the more efficient V2 format:
WARNING:tensorflow:   `tf.train.Saver(write_version=tf.train.SaverDef.V2)`
WARNING:tensorflow:now on by default.
WARNING:tensorflow:*******************************************************
INFO:tensorflow:d:\00015000-tmp\export is not in all_model_checkpoint_paths. Manually adding it.
Out[27]:
b'd:\\00015000'

In [ ]: