TensorFlow SparseTensor创建:值错误:尺寸2和1不兼容

2024-06-28 19:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我已尝试在TensorFlow 2中创建一个SparseTensor,使用以下行:

street_nonzero_i = np.nonzero(dataframe['STREETPRO'].to_numpy())[0]
street_nonzero = dataframe['STREETPRO'].to_numpy()[street_nonzero_i]
sp_street_pro = SparseTensor(indices=conv(street_nonzero_i), values=street_nonzero.tolist(), dense_shape=[len(dataframe['STREETPRO'])])

conv函数只向索引的第一个值添加一个0,因为我使用的是一维列表(如https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor中所述):

def conv(nonzerolist):
    list = []
    for val in nonzerolist:
        list.append([0,val])

    return list

dataframe['STREETPRO']是一维熊猫系列。 变量street_nonzero_istreet_nonzero返回以下值:

街道(非零)i=[ 2 6 11 ... 99995 99997 99998] 街道非零=[ 1 121 796 ... 191 314 191]

运行此代码时,出现以下错误:

ValueError: Dimensions 2 and 1 are not compatible

不幸的是,在这个错误中没有未来的细节,例如哪些张量受到影响等。 我很乐意为您提供解决问题的建议

谢谢


Tags: tonumpystreetdataframetensorflow错误npval