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.