For option 2, I think you can extend caffe.LayerParameter by your self, given that LayerParameter allows extension.
On Wed, Jun 21, 2017 at 1:12 AM Brian Palmer <[email protected]> wrote: > Hi, > > it sounds to me like you should explore defining a new message that > contains the LayerParameter as a field. For example, > > syntax = "proto2"; > > package lynxcommando; > > message AugmentedLayerParameter { > optional caffe.LayerParameter base = 1; > optional MyNewParameter my_new_parameter = 2; > } > > message MyNewParameter { > > }; > > Alternatively, you could ask the caffe authors to add in an extension > range to their messages, so that you can do > > extend caffe.LayerParameter { > optional MyNewParameter my_new_parameter = 12345; > } > in your my_new_parameter.proto. See > https://developers.google.com/protocol-buffers/docs/proto#extensions > > As a last resort, there is support for creating "dynamic messages," but > most of the examples I found searching around were doing it in java or c++. > https://stackoverflow.com/questions/18836727/protocol-buffer-objects-generated-at-runtime > > > > On Thu, Jun 15, 2017 at 11:30 PM, Lynx Commando <[email protected]> > wrote: > >> >> First, is caffe managed by yourself? >> >No >> Otherwise, I don't suggest change it by your own (may cause >> incompatibility issues). >> >Unfortunately I have to.... >> Second, this seems like a python question instead of protobuf. >> >What I want to know is that if protobuf has a python api making it >> easier. >> >>More specifically , I am looking for something equivalent to a >> boost::xml_parser that parses xml >> >> In another word, I want to know if there is somepkg allows me to do >> the following thing >> >>> proto = somepkg.somecls.parse("src/caffe/caffe.proto") >> >>> >> proto['LayerParameter'].append(somepkg.somecls.optional_field("MyNewParam","my_new_param",param_id)) >> >>> for fields in my_field_list: >> >>> proto['MyNewParam'].append(field) >> >>> somepkg.somecls.write(proto,"src/caffe/caffe.proto") >> >> >> >> >> On Friday, June 16, 2017 at 2:21:17 AM UTC+8, Bo Yang wrote: >>> >>> First, is caffe managed by yourself? Otherwise, I don't suggest change >>> it by your own (may cause incompatibility issues). >>> Second, this seems like a python question instead of protobuf. >>> >>> On Wed, Jun 14, 2017 at 8:54 PM Lynx Commando <[email protected]> >>> wrote: >>> >>>> More specifically, I am using caffe and I'd like to add new layers to >>>> it. >>>> Then I need to modify the caffe.proto file by adding(or removing) some >>>> messages and corresponding fields to some other messages. >>>> I'd want to know if I can do this automatically with a python script. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Protocol Buffers" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at https://groups.google.com/group/protobuf. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/protobuf. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
