2017-03-28 10 views
0
rng = RandomStreams() 

res, updates = th.map(lambda x: rng.binomial(), 
         T.arange(10)) 

final_res, final_updates = th.scan(lambda x: res, 
            sequences=T.arange(10)) 

私はいくつかの同様の事を実装したいと想像してください。問題は、mapがRNGを使用しているため、RNG状態を更新するための非ブランクの更新があることです。 scanの内部でupdatesを強制的に実行するにはどうすればよいですか? scanソースコードのドキュメントによればtheanoスキャン内で更新を実行する

答えて

0

The function is expected to return two things. One is a list of outputs ordered in the same order as ``outputs_info``, with the difference that there should be only one output variable per output initial state (even if no tap value is used). Secondly `fn` should return an update dictionary (that tells how to update any shared variable after each iteration step). The dictionary can optionally be given as a list of tuples. There is no constraint on the order of these two list, ``fn`` can return either ``(outputs_list, update_dictionary)`` or ``(update_dictionary, outputs_list)`` or just one of the two (in case the other is empty).
関連する問題