Python 在张量上使用字典
我有一个张量,想用字典 我使用44个类的实例分割,但试图合并成15个 我把数据放在tf.record上,不想每次更改类时都创建一个,所以尝试在解析器中修改它Python 在张量上使用字典,python,tensorflow,dictionary,tensor,Python,Tensorflow,Dictionary,Tensor,我有一个张量,想用字典 我使用44个类的实例分割,但试图合并成15个 我把数据放在tf.record上,不想每次更改类时都创建一个,所以尝试在解析器中修改它 test=tf.random.uniform(shape=(120,120), minval=0, maxval=43, dtype=tf.int32) dict2={0:0, 1:0, 2:1, 3:1, 4:1, 5:1, 6:2 , 7:
test=tf.random.uniform(shape=(120,120), minval=0, maxval=43, dtype=tf.int32)
dict2={0:0,
1:0,
2:1,
3:1,
4:1,
5:1,
6:2 ,
7:2,
8:2,
9:3,
10:3,
11:4,
12:4,
13:4,
14:5,
15:5,
16:5,
17:6,
18:7,
19:7,
20:7,
21:7,
22:8,
23:8,
24:8,
25:9,
26:9,
27:9,
28:9,
29:10,
30:10,
31:10,
32:10,
33:10,
34:11,
35:11,
36:12,
37:12,
38:12,
39:13,
40:13,
41:14,
42:14,
43:14
}
test2=tf.vectorized_map(dict2.get,test.ref())
错误
ValueError:尝试将不支持类型()的值()转换为张量。
这就解决了问题
keys = list(dict2.keys())
values = [dict2[k] for k in keys]
table = tf.lookup.StaticHashTable(
tf.lookup.KeyValueTensorInitializer(keys, values),
default_value=-1)
test2=table.lookup(test)
keys = list(dict2.keys())
values = [dict2[k] for k in keys]
table = tf.lookup.StaticHashTable(
tf.lookup.KeyValueTensorInitializer(keys, values),
default_value=-1)
test2=table.lookup(test)