फिटिंग करते समय टेंसरफ्लो क्रैश हो जाता है, मैं TensorForestEstimator
मॉडल पर फिट करने की कोशिश कर रहा हूं जिसमें संख्यात्मक फ्लोटिंग-पॉइंट डेटा 7 फीचर्स और 7 लेबल का प्रतिनिधित्व करता है। यही है, features
और labels
दोनों का आकार (484876, 7)
है। मैंने num_classes=7
और num_features=7
ForestHParams
में उचित रूप से सेट किया है। डाटा का स्वरूप इस प्रकार है:टेन्सोरफ्लोस्टीमीटर
f1 f2 f3 f4 f5 f6 f7 l1 l2 l3 l4 l5 l6 l7
39000.0 120.0 65.0 1000.0 25.0 0.69 3.94 39000.0 39959.0 42099.0 46153.0 49969.0 54127.0 55911.0
32000.0 185.0 65.0 1000.0 75.0 0.46 2.19 32000.0 37813.0 43074.0 48528.0 54273.0 60885.0 63810.0
30000.0 185.0 65.0 1000.0 25.0 0.41 1.80 30000.0 32481.0 35409.0 39145.0 42750.0 46678.0 48595.0
जब fit()
अजगर निम्न संदेश के साथ दुर्घटनाओं बुला:
अजगर अनपेक्षित रूप से बंद है, जबकि _pywrap_tensorflow_internal.so प्लग-इन का उपयोग कर।
यहाँ जब tf.logging.set_verbosity('INFO')
सक्रिय करने के उत्पादन होता है:
INFO:tensorflow:training graph for tree: 0
INFO:tensorflow:training graph for tree: 1
...
INFO:tensorflow:training graph for tree: 9998
INFO:tensorflow:training graph for tree: 9999
INFO:tensorflow:Create CheckpointSaverHook.
2017-07-26 10:25:30.908894: F tensorflow/contrib/tensor_forest/kernels/count_extremely_random_stats_op.cc:404]
Check failed: column < num_classes_ (39001 vs. 8)
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
मुझे यकीन है कि क्या इस त्रुटि का अर्थ है, यह वास्तव में num_classes=7
, नहीं 8 के बाद से और सुविधाओं के आकार के रूप में मतलब नहीं है नहीं कर रहा हूँ और लेबल (484876, 7)
है, मुझे नहीं पता कि 3 9 001 कहां से आ रहा है।
यहाँ कोड पुन: पेश करने के लिए है:
import numpy as np
import pandas as pd
import os
def get_training_data():
training_file = "data.txt"
data = pd.read_csv(training_file, sep='\t')
X = np.array(data.drop('Result', axis=1), dtype=np.float32)
y = []
for e in data.ResultStr:
y.append(list(np.array(str(e).replace('[', '').replace(']', '').split(','))))
y = np.array(y, dtype=np.float32)
features = tf.constant(X)
labels = tf.constant(y)
return features, labels
hyperparameters = ForestHParams(
num_trees=100,
max_nodes=10000,
bagging_fraction=1.0,
num_splits_to_consider=0,
feature_bagging_fraction=1.0,
max_fertile_nodes=0,
split_after_samples=250,
min_split_samples=5,
valid_leaf_threshold=1,
dominate_method='bootstrap',
dominate_fraction=0.99,
# All parameters above are default
num_classes=7,
num_features=7
)
estimator = TensorForestEstimator(
params=hyperparameters,
# All parameters below are default
device_assigner=None,
model_dir=None,
graph_builder_class=RandomForestGraphs,
config=None,
weights_name=None,
keys_name=None,
feature_engineering_fn=None,
early_stopping_rounds=100,
num_trainers=1,
trainer_id=0,
report_feature_importances=False,
local_eval=False
)
estimator.fit(
input_fn=lambda: get_training_data(),
max_steps=100,
monitors=[
TensorForestLossHook(
early_stopping_rounds=30
)
]
)
यह भी अगर मैं इसे SKCompat
के साथ रैप काम नहीं करता है, एक ही त्रुटि पाए जाते हैं। इस दुर्घटना का कारण क्या है?
क्या आप नमूना इनपुट डेटा प्रदान कर सकते हैं? – denfromufa
मैंने इनपुट डेटा प्रदान करने के लिए प्रश्न संपादित किया। – jshapy8