Skip to content

Issues in string_int_label_map.pb聽#11

Open

Description

@richard-ash

First, awesome project! 馃榿

Getting a couple errors with the string_int_label_map.pb files included in your project.

First is:

#if 3003002 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

Second is:
No member named 'Shutdown' in 'object_detection::protos::StringIntLabelMapItemDefaultTypeInternal'
for:

void TableStruct::Shutdown() {
  _StringIntLabelMapItem_default_instance_.Shutdown();
  delete file_level_metadata[0].reflection;
  _StringIntLabelMap_default_instance_.Shutdown();
  delete file_level_metadata[1].reflection;
}

It seems that these files should've been regenerated when I built tensorflow, but I can't find them in the gen directory.

Any ideas?

Thanks!

Activity

  1. JieHe96 commented on Oct 9, 2017

    @JieHe96
    Owner

    For the first question, it seems like you installed several protobuf and use the wrong one.

    Currently TensorFlow is using the protobuf 3.1.0, so try to remove other versions of protobuf in your computer. The link of how to install the protobuf is here:
    https://www.tensorflow.org/versions/r0.12/get_started/os_setup#protobuf_library_related_issues

  2. richard-ash commented on Oct 10, 2017

    @richard-ash
    Author

    Thanks!

  3. JieHe96 commented on Oct 22, 2017

    @JieHe96
    Owner
    git checkout e3ceea3f6
    
    

    Try use this commit version of TensorFlow and it should work correctly.

  4. tirrorex commented on Nov 9, 2017

    @tirrorex

    @JieHe96 i did as you said as it is still not working.
    Can't you link your .proto file so we can generate the conflicting file again?

    ps : after some more reading it appears in the ios code you are checking the version for "3003002 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION"
    You also checking the other around, not less than 3.3.0.
    So 3.1 is a no-go

  5. anonym24 commented on Dec 15, 2017

    @anonym24

    same error, seems it needs 3.3, but on https://www.tensorflow.org/versions/r0.12/get_started/os_setup you will find only 3.1

    did someone solve this issue?

  6. zwhinmedia commented on Dec 19, 2017

    @zwhinmedia

    same error +1

  7. madhavajay commented on Jan 12, 2018

    @madhavajay

    I solved this problem by cloning the 1.4.0 tensorflow tag.
    Then after doing all the normal TF compile steps, by recompiling the protbuff headers with protoc version 3.4.0.

    If you check the version of protobuff common that gets included with the 1.4.0 TF tag its Protobuf 3.4.0.

    Get the correct 3.4.0 binary for your system here:
    https://github.com/google/protobuf/releases

    Get the original .proto definition file here:
    https://github.com/tensorflow/models/blob/master/research/object_detection/protos/string_int_label_map.proto

    Then run something like:
    ./protoc --cpp_out=./ ./string_int_label_map.proto

    Make sure to use the protoc binary for 3.4.0 that you downloaded above. Then replace the files in the ex_SSD_Mobilenet_TF folder:
    string_int_label_map.pb.cc
    string_int_label_map.pb.h

    I might make a PR that provides these changes so others don't have to mess around so much.

  8. anonym24 commented on Jan 13, 2018

    @anonym24

    @madhavajay thanks for telling us, I'll try at work time later,
    would be great if you make a PR

  9. madhavajay commented on Jan 14, 2018

    @madhavajay

    馃槉 @anonym24 I already did:
    #24

  10. anonym24 commented on Jan 30, 2018

    @anonym24

    @madhavajay do I still need to change something in original tensorflow folder? like this
    screenshot at jan 30 11-14-24

    There are many points and instructions here, but where to start, what is the obligation to carry out

  11. anonym24 commented on Jan 30, 2018

    @anonym24

    @madhavajay solved it, big thanks!

    didn't need it to change anything in tensorflow 1.4.0 files

    I just installed protobuf 1.4.0
    downloaded your edited iOS_Tensorflow_ObjectDetection_Example
    downloaded tensorflow 1.4.0

    and only did this

    export TF_ROOT=/your//tensorflow/root/
    bash config.sh
    cd $TF_ROOT
    tensorflow/contrib/makefile/build_all_ios_ssd.sh
    

    and it worked!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions