Ошибка при генерации tfrecord через MapReduce - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь использовать работу MR для генерации TFRecord, но наткнулся на ошибку, которую я не могу понять, кажется, не могу найти способ прочитать список ??Это выдает следующее, когда я пытаюсь построить Пример, который следует примеру hadoop в tenorflow.Кто-нибудь может указать путь?Спасибо

2018-06-06 23:49:44,386 FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.NoSuchMethodError: com.google.protobuf.Descriptors$Descriptor.getOneofs()Ljava/util/List;
at com.google.protobuf.GeneratedMessageV3$FieldAccessorTable.<init>(GeneratedMessageV3.java:1704)
at org.tensorflow.example.FeatureProtos.<clinit>(FeatureProtos.java:104)
at org.tensorflow.example.Feature.internalGetFieldAccessorTable(Feature.java:109)
at com.google.protobuf.GeneratedMessageV3.getAllFieldsMutable(GeneratedMessageV3.java:124)
at com.google.protobuf.GeneratedMessageV3.getAllFields(GeneratedMessageV3.java:200)
at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:272)
at com.google.protobuf.TextFormat$Printer.access$400(TextFormat.java:248)
at com.google.protobuf.TextFormat.print(TextFormat.java:71)
at com.google.protobuf.TextFormat.printToString(TextFormat.java:118)
at com.google.protobuf.AbstractMessage.toString(AbstractMessage.java:106)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)

1 Ответ

0 голосов
/ 07 июня 2018

Это связано с проблемой совместимости библиотеки JAVA.В основном YARN загружает версию Protobuf (вероятно, 2.x), которая не совместима с той, которую вы использовали для создания своего JAR (вероятно, 3.x)

Проверьте YARNжурналы, чтобы идентифицировать загружаемую версию и перестроить ваш JAR с той же самой.

...