这是我使用这个网站多年后的第一个问题-如果我做错了什么,请纠正我。。。你知道吗
我正在尝试使用TensorFlow的SKFlow部分来训练一个深度神经网络分类器,这应该会使这个非常简单。当我将数据传递给分类器fit
方法时,我经常得到这个ValueError
。你知道吗
Traceback (most recent call last):
File "./train_ann.py", line 55, in <module>
clf.fit(x_train.values, y_train.values, steps=1000)
File "/home/maurice/Dev/pyvenv/itslb/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 235, in fit
epochs=None)
File "/home/maurice/Dev/pyvenv/itslb/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", line 82, in _get_input_fn
epochs=epochs)
File "/home/maurice/Dev/pyvenv/itslb/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/learn_io/data_feeder.py", line 116, in setup_train_data_feeder
x, y, n_classes, batch_size, shuffle=shuffle, epochs=epochs)
File "/home/maurice/Dev/pyvenv/itslb/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/learn_io/data_feeder.py", line 241, in __init__
self.x = check_array(x, dtype=x_dtype)
File "/home/maurice/Dev/pyvenv/itslb/lib/python3.5/site-packages/tensorflow/contrib/learn/python/learn/learn_io/data_feeder.py", line 188, in check_array
array = np.array(array, dtype=dtype, order=None, copy=False)
ValueError: setting an array element with a sequence.
相关代码如下所示:
# The y_train dataframe now contains only the type_id column which contains only integers
y_train = y_train[["type_id"]]
# Convert the numpy arrays to lists
x_train["vector"] = x_train.vector.map(lambda x: x.tolist())
# Get the number of classes for the classifier
n_classes = len(list(y_train.type_id.unique()))
# Create a deep neural network classifier
clf = skflow.DNNClassifier(
hidden_units=[2000, 2000, 1500, 1000],
n_classes=n_classes,
model_dir='/home/maurice/Dev/test/TFModel01'
)
# Start training the classifier
clf.fit(x_train, y_train, steps=1000)
x_train
数据框如下所示(它只包含一列):
vector
324 [1.0, 0.0, 1.0, 1.0, 0.0, 2.0, 1.0, 1.0, 2.0, ...
471 [0.0, 2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, ...
...
y_train
看起来像这样:
type_id
887 10
507 2
...
我试着用这些方法解决如此相似的问题,但不是我做错了,就是出现了不同的问题。你知道吗
我已经尝试过的:
编辑
我做了更多的研究,发现了引发异常的函数是如何调用的。你知道吗
for index, row in x_train.iterrows():
print(type(row))
print(row)
array = np.array(row, dtype=np.float32, order=None, copy=False)
这再现了错误。输出告诉我row
是pandas.core.series.Series
类型-这解释了异常。你知道吗
<class 'pandas.core.series.Series'>
vector [1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 2.0, ...
Name: 599, dtype: object
Traceback (most recent call last):
File "./train_ann.py", line 34, in <module>
array = np.array(row, dtype=np.float32, order=No
你们能给我一个解决办法吗?你知道吗
提前谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐