Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Numpy将一个热编码器返回到类别_Python_Arrays_Numpy_Tensorflow_One Hot Encoding - Fatal编程技术网

Python 如何使用Numpy将一个热编码器返回到类别

Python 如何使用Numpy将一个热编码器返回到类别,python,arrays,numpy,tensorflow,one-hot-encoding,Python,Arrays,Numpy,Tensorflow,One Hot Encoding,我用自动编码器训练了一个模型,当我预测一些数据时,我会收到一个热编码器(正如预期的那样),所以现在我尝试将该矩阵转换回一个句子 foo, bar = test_encoder_input[545], test_decoder_input[545] print(foo.shape, bar.shape) # (20,), (20,) 然后我用这些数据做一个预测: pred = model.predict([foo, bar]) print(pred.shape) # (1, 20, 25001)

我用自动编码器训练了一个模型,当我预测一些数据时,我会收到一个热编码器(正如预期的那样),所以现在我尝试将该矩阵转换回一个句子

foo, bar = test_encoder_input[545], test_decoder_input[545]
print(foo.shape, bar.shape)
# (20,), (20,)
然后我用这些数据做一个预测:

pred = model.predict([foo, bar])
print(pred.shape)
# (1, 20, 25001) (1 sample, 20 characters len and 25001 size of the vocab)
然后我尝试从该矩阵()中获取类别:

做得好吗?(忘记了返回的句子,模型太糟糕了)因为我不知道是要
np.argmax()
整个预测数组还是只有一个元素

如果我这样做:

array = np.argmax(pred[0], axis=1)
print(array, array.shape)
# [1 1 1 1 0 1 4 2 4 0 7 6 0 2 2 2 4 2 2 1] (20,)

它返回完全相同的结果,但是在单个数组中而不是作为子数组,发生了什么?这真的是和以前一样的结果还是仅仅是巧合?

因为第一个是
np.argmax(pred,…)
,其中
pred
是一个三维数组,第二个是
np.argmax(pred[0],…)
,而
pred[0]
是一个二维数组?
array = np.argmax(pred[0], axis=1)
print(array, array.shape)
# [1 1 1 1 0 1 4 2 4 0 7 6 0 2 2 2 4 2 2 1] (20,)