While working on another feature for TensorBoardLogger.jl, I had to write a workaround encoder for dictionaries (see the code here). I think I was able to track down the discrepancy between ProtoBuf.jl and the protocol in files one, two and three, where Dict objects are encoded and decoded.
Looking at the protobuf documentation, it seems that dictionaries (or maps in their terms) is made up of repeated messages of key-value pairs (docs link). At least in Tensorboard, they expect each key-value pair to be a repeated message in a dictionary field.
While working on another feature for TensorBoardLogger.jl, I had to write a workaround encoder for dictionaries (see the code here). I think I was able to track down the discrepancy between ProtoBuf.jl and the protocol in files one, two and three, where
Dict
objects are encoded and decoded.Looking at the protobuf documentation, it seems that dictionaries (or maps in their terms) is made up of repeated messages of key-value pairs (docs link). At least in Tensorboard, they expect each key-value pair to be a repeated message in a dictionary field.