使用theano符号向量元素作为python OrderedDict中的键

时间:2018-06-11 16:31:11

标签: python theano ordereddictionary theano.scan

我正在尝试将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失败。 任何简单的解决方 这甚至可以吗?

0 个答案:

没有答案