Just peeking at
https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto (which
I'm guessing is the proto in question), I don't think it allows extension
at the moment.

On Wed, Jun 21, 2017 at 5:39 PM Bo Yang <[email protected]> wrote:

> 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.

Reply via email to