我正在尝试将theano符号键和值存储到python OrderedDict中,如下所示;
hmap=OrderedDict()
key = T.vector('key', dtype='int64')
val = T.scalar('val', dtype='int64')
minus_one=T.constant(-1, dtype='int64')
def read_map(key_):
return hmap.get(key_, minus_one)
def update_map(key_, val_):
hmap[key_]=val_
return hmap[key_]
read_map_result, _ = theano.scan(fn=read_map, sequences=[key], outputs_info=None)
read_map_f = theano.function(inputs=[key], outputs=read_map_result)
update_map_result, updates = theano.scan(fn=update_map, sequences = [key], non_sequences=val, outputs_info=None)
update_map_f = theano.function(inputs=[key, val], outputs=update_map_result, updates=updates)
print(update_map_f([0, 1, 2], 5))
print(read_map_f([2]))
print(hmap)
给出这个输出;
[5 5 5]
[-1]
OrderedDict([(key[t], val)])
因此,使用read_map_f
查找密钥2失败。
任何简单的解决方
这甚至可以吗?