我想在Python的TensorFlow中使用稀疏张量进行训练。我找到了很多关于如何做到这一点的代码,但是它们都没有起作用。
这里是一个示例代码,展示了我的意思,它会抛出一个错误:
import numpy as np
x_vals = tf.sparse.SparseTensor([[0, 0], [0, 1], [1, 2]], [1, 2, 1], [2, 3])
#x_vals = tf.sparse.to_dense(x_vals) #this line decides, if there is an error
y_vals = np.array([0, 1])
layer_args = lambda : None
layer_args.input_shape = (3,)
layer_args.activation = "sigmoid"
layer_args.use_bias = False
model = tf.keras.models.Sequential(tf.keras.layers.Dense(1, **layer_args.__dict__))
model.compile(loss = "mse")
model.fit(x_vals, y_vals)
错误信息如下:
错误是:
ValueError: 两个结构不具有相同的嵌套结构。
...并附带大量的堆栈跟踪信息。