tensorflow量子化bazelコンパイルquantize_graph失敗

4258 ワード

参考【TensorFlow】quantization量子化における2
 :https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/quantize/python/quantize_graph.py 

curl http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz -o /tmp/inceptionv3.tgz 
tar xzf /tmp/inceptionv3.tgz -C /tmp/ 
bazel build tensorflow/contrib/quantization/tools:quantize_graph 
bazel-bin/tensorflow/contrib/quantization/tools/quantize_graph \ 
--input=/tmp/classify_image_graph_def.pb \ 
--output_node_names="softmax" 
--output=/tmp/quantized_graph.pb \ --mode=eightbit

ここでquantize_graphのディレクトリが変更され、コードが
bazel build tensorflow/contrib/quantize:quantize_graph

誤報にあう
ERROR: /home/nnir712/project/tensorflow-master/tensorflow/core/grappler/costs/BUILD:281:1: C++ compilation of rule '//tensorflow/core/grappler/costs:op_level_cost_estimator' failed (Exit 1)
In file included from ./tensorflow/core/grappler/costs/op_level_cost_estimator.h:19:0,
                 from tensorflow/core/grappler/costs/op_level_cost_estimator.cc:16:
./tensorflow/core/grappler/costs/cost_estimator.h:58:52: error: 'INFINITY' was not declared in this scope
              double intermediate_read_gb_per_sec = INFINITY,
                                                    ^~~~~~~~
./tensorflow/core/grappler/costs/cost_estimator.h:59:53: error: 'INFINITY' was not declared in this scope
              double intermediate_write_gb_per_sec = INFINITY)
                                                     ^~~~~~~~
./tensorflow/core/grappler/costs/cost_estimator.h: In constructor 'tensorflow::grappler::DeviceInfo::DeviceInfo()':
./tensorflow/core/grappler/costs/cost_estimator.h:46:17: error: 'INFINITY' was not declared in this scope
       : gigaops(INFINITY),
                 ^~~~~~~~
tensorflow/core/grappler/costs/op_level_cost_estimator.cc: In member function 'virtual tensorflow::grappler::DeviceInfo tensorflow::grappler::OpLevelCostEstimator::GetDeviceInfo(const tensorflow::DeviceProperties&) const':
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:442:39: error: call to 'tensorflow::grappler::DeviceInfo::DeviceInfo(double, double, double, double)' uses the default argument for parameter 3, which is not yet defined
   return DeviceInfo(gflops, gb_per_sec);
                                       ^
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:442:39: error: call to 'tensorflow::grappler::DeviceInfo::DeviceInfo(double, double, double, double)' uses the default argument for parameter 4, which is not yet defined
In file included from ./tensorflow/core/platform/default/logging.h:24:0,
                 from ./tensorflow/core/platform/logging.h:25,
                 from ./tensorflow/core/lib/core/status.h:25,
                 from ./tensorflow/core/grappler/costs/cost_estimator.h:19,
                 from ./tensorflow/core/grappler/costs/op_level_cost_estimator.h:19,
                 from tensorflow/core/grappler/costs/op_level_cost_estimator.cc:16:
./tensorflow/core/util/tensor_format.h: In instantiation of 'T tensorflow::GetFilterDim(tensorflow::gtl::ArraySlice, tensorflow::FilterTensorFormat, char) [with T = long long int; tensorflow::gtl::ArraySlice = absl::Span]':
./tensorflow/core/util/tensor_format.h:467:54:   required from here
./tensorflow/core/util/tensor_format.h:441:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(index >= 0 && index < dimension_attribute.size())
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
./tensorflow/core/util/tensor_format.h:441:3: note: in expansion of macro 'CHECK'
   CHECK(index >= 0 && index < dimension_attribute.size())
   ^
Target //tensorflow/contrib/quantize:quantize_graph failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 1340.504s, Critical Path: 68.45s
INFO: 1816 processes: 1816 local.