sparse tensor
s=tf.SparseTensor(indices=[[0,1],[1,0],[2,3]],
values=[1.,2.,3.],
dense_shape=[3,4])
print(s)
print(tf.sparse.to_dense(s))
print( )
'''
SparseTensor(indices=tf.Tensor(
[[0 1]
[1 0]
[2 3]], shape=(3, 2), dtype=int64), values=tf.Tensor([1. 2. 3.], shape=(3,), dtype=float32), dense_shape=tf.Tensor([3 4], shape=(2,), dtype=int64))
tf.Tensor(
[[0. 1. 0. 0.]
[2. 0. 0. 0.]
[0. 0. 0. 3.]], shape=(3, 4), dtype=float32)
'''
ops on sparse tensors
s2=s*2.0
print(s2)
try:
s3=s+1
except TypeError as ex:
print(ex)
s4=tf.constant([[10.,20],
[30.,40.],
[50,60],
[70,80]])
print(tf.sparse.sparse_dense_matmul(s,s4))
'''
SparseTensor(indices=tf.Tensor(
[[0 1]
[1 0]
[2 3]], shape=(3, 2), dtype=int64), values=tf.Tensor([2. 4. 6.], shape=(3,), dtype=float32), dense_shape=tf.Tensor([3 4], shape=(2,), dtype=int64))
unsupported operand type(s) for +: 'SparseTensor' and 'int'
tf.Tensor(
[[ 30. 40.]
[ 20. 40.]
[210. 240.]], shape=(3, 2), dtype=float32)
'''
variables(变量)
v=tf.Variable([[1.,2.,3.],[4.,5.,6.]])
print(v)
print(v.value())
print(v.numpy())
'''
<tf.Variable 'Variable:0' shape=(2, 3) dtype=float32, numpy=
array([[1., 2., 3.],
[4., 5., 6.]], dtype=float32)>
tf.Tensor(
[[1. 2. 3.]
[4. 5. 6.]], shape=(2, 3), dtype=float32)
[[1. 2. 3.]
[4. 5. 6.]]
'''
assign value,重新赋值
v.assign(2*v)
print(v.numpy())
v[0,1].assign(42)
print(v.numpy())
v[1].assign([7.,8,9.1])
print(v.numpy())
'''
[[ 2. 4. 6.]
[ 8. 10. 12.]]
[[ 2. 42. 6.]
[ 8. 10. 12.]]
[[ 2. 42. 6. ]
[ 7. 8. 9.1]]
'''
try:
v[1]=[7.,8,9.1]
except TypeError as ex:
print(ex)
'''
'ResourceVariable' object does not support item assignment
'''