Coder Social home page Coder Social logo

mystic123 / tensorflow-yolo-v3 Goto Github PK

View Code? Open in Web Editor NEW
894.0 44.0 356.0 71 KB

Implementation of YOLO v3 object detector in Tensorflow (TF-Slim)

Home Page: https://medium.com/@pawekapica_31302/implementing-yolo-v3-in-tensorflow-tf-slim-c3c55ff59dbe

License: Apache License 2.0

Python 100.00%
tensorflow yolo tensorflow-yolo detector object-detection yolov3 deep-learning

tensorflow-yolo-v3's Introduction

tensorflow-yolo-v3

Implementation of YOLO v3 object detector in Tensorflow (TF-Slim). Full tutorial can be found here.

Tested on Python 3.5, Tensorflow 1.11.0 on Ubuntu 16.04.

Todo list:

  • YOLO v3 architecture
  • Basic working demo
  • Weights converter (util for exporting loaded COCO weights as TF checkpoint)
  • Training pipeline
  • More backends

How to run the demo:

To run demo type this in the command line:

  1. Download COCO class names file: wget https://raw.githubusercontent.com/pjreddie/darknet/master/data/coco.names
  2. Download and convert model weights:
    1. Download binary file with desired weights:
      1. Full weights: wget https://pjreddie.com/media/files/yolov3.weights
      2. Tiny weights: wget https://pjreddie.com/media/files/yolov3-tiny.weights
      3. SPP weights: wget https://pjreddie.com/media/files/yolov3-spp.weights
    2. Run python ./convert_weights.py and python ./convert_weights_pb.py
  3. Run python ./demo.py --input_img <path-to-image> --output_img <name-of-output-image> --frozen_model <path-to-frozen-model>

####Optional Flags

  1. convert_weights:
    1. --class_names
      1. Path to the class names file
    2. --weights_file
      1. Path to the desired weights file
    3. --data_format
      1. NCHW (gpu only) or NHWC
    4. --tiny
      1. Use yolov3-tiny
    5. --spp
      1. Use yolov3-spp
    6. --ckpt_file
      1. Output checkpoint file
  2. convert_weights_pb.py:
    1. --class_names 1. Path to the class names file
    2. --weights_file
      1. Path to the desired weights file
    3. --data_format
      1. NCHW (gpu only) or NHWC
    4. --tiny
      1. Use yolov3-tiny
    5. --spp
      1. Use yolov3-spp
    6. --output_graph
      1. Location to write the output .pb graph to
  3. demo.py
    1. --class_names
      1. Path to the class names file
    2. --weights_file
      1. Path to the desired weights file
    3. --data_format
      1. NCHW (gpu only) or NHWC
    4. --ckpt_file
      1. Path to the checkpoint file
    5. --frozen_model
      1. Path to the frozen model
    6. --conf_threshold
      1. Desired confidence threshold
    7. --iou_threshold
      1. Desired iou threshold
    8. --gpu_memory_fraction
      1. Fraction of gpu memory to work with

tensorflow-yolo-v3's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tensorflow-yolo-v3's Issues

Possible error in the non max supression function

cls_boxes = cls_boxes[1:]

I was testing the code with an Image with multiple objects of the same classes, and I noted that the scores of those objects were always the same. I am not really sure if that is correct; that's why I looked down the code and found that in the nms function, when the cls_boxes's first row is discarded (To proceed with the next box), but the first row of cls_scores isnt. That means, all the objects of the same classes are saved with the scores of the first object (With the highest score). My solution was just to discard the first row of cls_scores too, exactly below the line 392:
cls_scores = cls_scores[1:]

If it isnt correct, I would like to know why,
Regards

Incorrect positions of bounding boxes

On running the code demo.py, it is giving inaccurate position of bounding boxes although the confidence is quite high.
result

This is an image from coco-validation-2017 dataset. A similar trend is seen in many other pictures of traffic on street,etc.

Do you know what might be the problem?

ValueError: could not broadcast input array from shape (416,234,3) into shape (416,180,3)

Traceback (most recent call last):
File "./demo.py", line 101, in
tf.app.run()
File "/Users/vamshi/projects/google_ml_engine/mlengine-env/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "./demo.py", line 54, in main
img_resized = letter_box_image(img, FLAGS.size, FLAGS.size, 128)
File "/Users/vamshi/projects/od/tensorflow-yolo-v3/utils.py", line 278, in letter_box_image
to_return[pad_top:pad_top+fit_height, pad_left:+fit_width] = fit_image
ValueError: could not broadcast input array from shape (416,234,3) into shape (416,180,3)

weights load error

Hi, I have sucessfully converted the official yolov3 and it works fine. However, I tried to convert two trained models with darknet but both failed when the weights was loading. I checked that the number of parameters did not equal to the ones loaded from the weights. However, my models works fine in the darknet. I also carefully checked the nets which I rewrite. There was no problem. one model is:
[net]

Testing

batch=1
subdivisions=1

Training

#batch=32
#subdivisions=4
width=416
height=416
channels=3
momentum=0.9
decay=0.0005
angle=0
saturation = 2
exposure = 2
hue=.2
learning_rate=0.001
burn_in=1000
max_batches = 200000
policy=steps
steps=100000,190000
scales=.1,.1

[convolutional]
batch_normalize=1
filters=16
size=3
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=32
size=3
stride=2
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=16
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=32
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=64
size=3
stride=2
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=32
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=64
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=128
size=3
stride=2
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=128
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=256
size=3
stride=2
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=256
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=512
size=3
stride=2
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
filters=512
size=3
stride=1
pad=1
activation=leaky

[shortcut]
from=-3
activation=linear

#feature extractor
######################

[convolutional]
batch_normalize=1
filters=256
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=512
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=36
activation=linear

[yolo]
mask = 6,7,8
anchors = 50.6295,91.0902, 102.1641,69.8879, 64.9791,178.5169, 183.0957,81.5070, 117.8835,133.2239, 112.2318,284.7286, 189.3581,191.0571, 295.5820,123.1189, 294.0719,289.5311
classes=7
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

[route]
layers = -4

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[upsample]
stride=2

[route]
layers = -1, 25

[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky
[convolutional]
batch_normalize=1
filters=128
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=leaky

[convolutional]
size=1
stride=1
pad=1
filters=36
activation=linear

[yolo]
mask = 3,4,5
anchors = 50.6295,91.0902, 102.1641,69.8879, 64.9791,178.5169, 183.0957,81.5070, 117.8835,133.2239, 112.2318,284.7286, 189.3581,191.0571, 295.5820,123.1189, 294.0719,289.5311
classes=7
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

[route]
layers = -4
[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky

[upsample]
stride=2

[route]
layers = -1, 15

[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=128
activation=leaky

[convolutional]
batch_normalize=1
filters=64
size=1
stride=1
pad=1
activation=leaky

[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=128
activation=leaky
[convolutional]
size=1
stride=1
pad=1
filters=36
activation=linear

[yolo]
mask = 0,1,2
anchors = 50.6295,91.0902, 102.1641,69.8879, 64.9791,178.5169, 183.0957,81.5070, 117.8835,133.2239, 112.2318,284.7286, 189.3581,191.0571, 295.5820,123.1189, 294.0719,289.5311
classes=7
num=9
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1

it is no big difference with original yolov3.cfg.

Code doesn't run on CPU

Good implementation, thx you!

I've tried to run your demo code in Docker container with 1.8 tensorflow on my Mac and received an error UnimplementedError (see above for traceback): Generic conv implementation only supports NHWC tensor format for now. [[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/truediv, detector/darknet-53/Conv/weights/read)]]
is it hard to fix this directly in your implementation?

Is it normal that the scores are not the same as darknet?

Hi,
I have tested darknet with the sample_dog image, and I get the following scores:
dog:100%
truck=92%
bicycle=99%

When I use the same image but with this tensorflow implementation, I get:
dog=99.95%
truck=99.62%
Bicycle=99.91%

I know that for dog and bicycle the difference could be explained through rounding error, but fur truck I think it cant, 7% its too much for it. Is it normal?

Mistake in your version of tiny yolo v3

Hi,

I am studying you implementation of yolo_v3-tiny.
Thanks for your job !

But it seems that you have introduced an error compared to the original network.

According to the Darknet's config file : here
The last MaxPooling layer has a size of [2, 2] with stride of 1.

But your network has only maxpool layer has a size of [2, 2] with stride of 2 !!

So, the tensor resized by the upsampling layer is not of shape [13, 13, 128] like in Darknet, but is [6, 6, 128].
And I am pretty sure that it is really impacting performance of recognition.

Could you please fix this issue ? (I'm not really comfortable with Slim, so I can't do the modification by myself).

Should the resized image keep aspect ratio?

If I'm wrong, please correct me.
This line don't care about aspect ratio.

img_resized = img.resize(size=(FLAGS.size, FLAGS.size))

This is a letter box function.
If run "./darknet detect" seem to call to detector.c's test_detector() function which also use letter box function.
The padding use 128 (uint) or 0.5 (float) value.

image letterbox_image(image im, int w, int h)
{
    int new_w = im.w;
    int new_h = im.h;
    if (((float)w/im.w) < ((float)h/im.h)) {
        new_w = w;
        new_h = (im.h * w)/im.w;
    } else {
        new_h = h;
        new_w = (im.w * h)/im.h;
    }
    image resized = resize_image(im, new_w, new_h);
    image boxed = make_image(w, h, im.c);
    fill_image(boxed, .5);
    //int i;
    //for(i = 0; i < boxed.w*boxed.h*boxed.c; ++i) boxed.data[i] = 0;
    embed_image(resized, boxed, (w-new_w)/2, (h-new_h)/2); 
    free_image(resized);
    return boxed;
}

This is resize function which use bi-linear interpolation.
This is used in detector.c's validate_detector_recall() function.

image resize_image(image im, int w, int h)
{
    image resized = make_image(w, h, im.c);   
    image part = make_image(w, im.h, im.c);
    int r, c, k;
    float w_scale = (float)(im.w - 1) / (w - 1);
    float h_scale = (float)(im.h - 1) / (h - 1);
    for(k = 0; k < im.c; ++k){
        for(r = 0; r < im.h; ++r){
            for(c = 0; c < w; ++c){
                float val = 0;
                if(c == w-1 || im.w == 1){
                    val = get_pixel(im, im.w-1, r, k);
                } else {
                    float sx = c*w_scale;
                    int ix = (int) sx;
                    float dx = sx - ix;
                    val = (1 - dx) * get_pixel(im, ix, r, k) + dx * get_pixel(im, ix+1, r, k);
                }
                set_pixel(part, c, r, k, val);
            }
        }
    }
    for(k = 0; k < im.c; ++k){
        for(r = 0; r < h; ++r){
            float sy = r*h_scale;
            int iy = (int) sy;
            float dy = sy - iy;
            for(c = 0; c < w; ++c){
                float val = (1-dy) * get_pixel(part, c, iy, k);
                set_pixel(resized, c, r, k, val);
            }
            if(r == h-1 || im.h == 1) continue;
            for(c = 0; c < w; ++c){
                float val = dy * get_pixel(part, c, iy+1, k);
                add_pixel(resized, c, r, k, val);
            }
        }
    }

    free_image(part);
    return resized;
}

Now the question, Should the resized image keeping aspect ratio?
This should improve its accuracy, shouldn't it?

Why I am getting different prediction, with tiny yolo.

I am adding the images at two different predictions at two different conf_threshold but none of them is producing the desired results. The lower threshold image is added to show that the detection itself is distorted.
conf_threshold=0.1
pred

conf_threshold=0.5 (default)
pred

@mystic123 Can you please tell me what I might be missing. weight file is yolov3-tiny.weights. I have also tried with letterbox reshape, but still, the detections are wrong. Anchors used are default anchors only. The image tested on is from darknet's official data folder.

How do I install coco.names?

I read through the tutorial and readme. Nothing really about coco.names. I think I downloaded it but now I'm getting "UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 221: character maps to " whenever I run demo.py.

some size error

ValueError: Dimension size, given by scalar input 2, must be non-negative but is -1 for 'detector/yolo-v3/split' (op: 'SplitV') with input shapes: [?,507,85],[4], [] and with computed input tensors: input[2] = <-1>.

Unable to run demo.py

Hi when I run demo.py it fails with following error :

UnimplementedError (see above for traceback): Generic conv implementation only supports NHWC tensor format for now.
[[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/truediv, detector/darknet-53/Conv/weights/read)]]

`2018-07-05 12:20:04.395172: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
Traceback (most recent call last):
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1322, in _do_call
return fn(*args)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1307, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1409, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.UnimplementedError: Generic conv implementation only supports NHWC tensor format for now.
[[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/truediv, detector/darknet-53/Conv/weights/read)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./demo.py", line 76, in
tf.app.run()
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "./demo.py", line 65, in main
detected_boxes = sess.run(boxes, feed_dict={inputs: [np.array(img_resized, dtype=np.float32)]})
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 900, in run
run_metadata_ptr)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1316, in _do_run
run_metadata)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.UnimplementedError: Generic conv implementation only supports NHWC tensor format for now.
[[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/truediv, detector/darknet-53/Conv/weights/read)]]

Caused by op 'detector/darknet-53/Conv/Conv2D', defined at:
File "./demo.py", line 76, in
tf.app.run()
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "./demo.py", line 57, in main
detections = yolo_v3(inputs, len(classes), data_format='NCHW')
File "/home/harshit/Documents/tensorflow-yolo-v3/yolo_v3.py", line 228, in yolo_v3
route_1, route_2, inputs = darknet53(inputs)
File "/home/harshit/Documents/tensorflow-yolo-v3/yolo_v3.py", line 19, in darknet53
inputs = _conv2d_fixed_padding(inputs, 32, 3)
File "/home/harshit/Documents/tensorflow-yolo-v3/yolo_v3.py", line 50, in _conv2d_fixed_padding
inputs = slim.conv2d(inputs, filters, kernel_size, stride=strides, padding=('SAME' if strides == 1 else 'VALID'))
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 183, in func_with_args
return func(*args, **current_args)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/contrib/layers/python/layers/layers.py", line 1049, in convolution
outputs = layer.apply(inputs)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 828, in apply
return self.call(inputs, *args, **kwargs)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 717, in call
outputs = self.call(inputs, *args, **kwargs)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/layers/convolutional.py", line 168, in call
outputs = self._convolution_op(inputs, self.kernel)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 868, in call
return self.conv_op(inp, filter)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 520, in call
return self.call(inp, filter)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/ops/nn_ops.py", line 204, in call
name=self.name)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_nn_ops.py", line 956, in conv2d
data_format=data_format, dilations=dilations, name=name)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 3392, in create_op
op_def=op_def)
File "/home/harshit/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1718, in init
self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

UnimplementedError (see above for traceback): Generic conv implementation only supports NHWC tensor format for now.
[[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/truediv, detector/darknet-53/Conv/weights/read)]]
`

Error in demo.py cannot reshape array of size 60663 into shape (258,256,1,1)

I ran the demo.py like the way you described
python ./demo.py --input_img <path-to-image> --output_img <name-of-output-image>
and downloaded yolov3.weights
but I get this error

  File "demo.py", line 58, in main
    load_ops = load_weights(tf.global_variables(scope='detector'), FLAGS.weights_file)
  File "/workspace/tensorflow-yolo-v3/yolo_v3.py", line 298, in load_weights
    var_weights = weights[ptr:ptr + num_params].reshape((shape[3], shape[2], shape[0], shape[1]))
ValueError: cannot reshape array of size 60663 into shape (258,256,1,1)

Error while running demo.py

Hi,

I'm facing the error:
UnimplementedError (see above for traceback): Generic conv implementation only s upports NHWC tensor format for now. [[Node: detector/darknet-53/Conv/Conv2D = Conv2D[T=DT_FLOAT, data_forma t="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudn n_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](detector/ transpose, ArithmeticOptimizer/detector/darknet-53/Conv/weights_scaled_detector/ darknet-53/Conv/Conv2D)]]

Could you please tell me how to solve the error and run the detector on CPU?

Missing detections yolov3-tiny

@mystic123 Amazing work !!

I have a small problem. I ran your code for a yolov3-tiny inference.

The predicted bounding boxes are exactly overlapping with the inference from the darknet codebase but there are some missing bounding boxes when I run it using tensorflow-yolo

Can you please suggest a possible cause for this?

Input format RGB or BGR?

What is the expected image format? I know pillow loads images as RGB, so if I were to load images from cv2 in BGR format, would I have to transpose them?

misunderstanding about code

@mystic123 Hi, thanks for your effort. When I run demo I got the following error,
File "demo.py", line 76, in
tf.app.run()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "demo.py", line 57, in main
detections = yolo_v3(inputs, len(classes), data_format='NCHW')
File "/home/user/Desktop/tensorflow-yolo-v3-master/yolo_v3.py", line 221, in yolo_v3
detect_1 = _detection_layer(inputs, num_classes, _ANCHORS[6:9], img_size, data_format)
File "/home/user/Desktop/tensorflow-yolo-v3-master/yolo_v3.py", line 149, in _detection_layer
box_sizes = tf.exp(box_sizes) * anchors
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 847, in binary_op_wrapper
return func(x, y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 1091, in _mul_dispatch
return gen_math_ops.mul(x, y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 4759, in mul
"Mul", x=x, y=y, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 546, in _apply_op_helper
inferred_from[input_arg.type_attr]))
TypeError: Input 'y' of 'Mul' Op has type int32 that does not match type float32 of argument 'x'.
Any suggestions about what's wrong? Thank you!

Weights loading

sess.run(load_ops)

It seems that weights are loaded on every image (normal since we perform detection on image); however, how could we apply this to video since loading once at the beginning doesn't work ?

I have currently 1 FPS : 0.8 s loading and 0.2 s detection

(Ubuntu 14.04, GTX1070, Python 2.7, TF 1.4)

ValueError: cannot reshape array of size 60663 into shape (258,256,1,1)

Following how to demo here , I got an error:

File "/home/lc/codes/tensorflow-yolo-v3/demo.py", line 58, in main
    load_ops = load_weights(tf.global_variables(scope='detector'), FLAGS.weights_file)
  File "/home/lc/codes/tensorflow-yolo-v3/yolo_v3.py", line 298, in load_weights
    var_weights = weights[ptr:ptr + num_params].reshape((shape[3], shape[2], shape[0], shape[1]))
ValueError: cannot reshape array of size 60663 into shape (258,256,1,1)

If helpful, the debugging info is:

image

image

Any thoughts what might be wrong? Awesome work btw!

some errors on demo

hi guys,this work is greate for me , and I get a lot of knowledge from this repository.But I find two error on it.
First, there is a ValueError as follows:
"ValueError: Tensor conversion requested dtype float32 for Tensor with dtype int32: 'Tensor("detector/yolo-v3/Tile_1:0", shape=(507, 2), dtype=int32)'"
Second, you make a small mistake when saving a detected image in the end.If you want save the origin image ,you should draw_boxes with its own with and height rather than drawing the img with FLAGS.size.

The follows is my diffs for the errors:

diff --git a/demo.py b/demo.py
index b3c38ed..dcedeaa 100644
--- a/demo.py
+++ b/demo.py
@@ -8,10 +8,10 @@ from yolo_v3 import yolo_v3, load_weights, detections_boxes, non_max_suppression

FLAGS = tf.app.flags.FLAGS

-tf.app.flags.DEFINE_string('input_img', '', 'Input image')
-tf.app.flags.DEFINE_string('output_img', '', 'Output image')
-tf.app.flags.DEFINE_string('class_names', 'coco.names', 'File with class names')
-tf.app.flags.DEFINE_string('weights_file', 'yolov3.weights', 'Binary file with detector weights')
+tf.app.flags.DEFINE_string('input_img', 'images/person.jpg', 'Input image')
+tf.app.flags.DEFINE_string('output_img', 'out/detected.jpg', 'Output image')
+tf.app.flags.DEFINE_string('class_names', 'model_data/coco_classes.txt', 'File with class names')
+tf.app.flags.DEFINE_string('weights_file', 'weight/yolov3.weights', 'Binary file with detector weights')

tf.app.flags.DEFINE_integer('size', 416, 'Image size')

@@ -54,7 +54,7 @@ def main(argv=None):
inputs = tf.placeholder(tf.float32, [None, FLAGS.size, FLAGS.size, 3])

 with tf.variable_scope('detector'):
  -        detections = yolo_v3(inputs, len(classes), data_format='NCHW')
 +        detections = yolo_v3(inputs, len(classes), data_format='NHWC')
     load_ops = load_weights(tf.global_variables(scope='detector'), FLAGS.weights_file)

 boxes = detections_boxes(detections)

@@ -62,14 +62,17 @@ def main(argv=None):
with tf.Session() as sess:
sess.run(load_ops)

  +        writer =tf.summary.FileWriter("logs/",graph = sess.graph)
  +        writer.close()
     detected_boxes = sess.run(boxes, feed_dict={inputs: [np.array(img_resized, dtype=np.float32)]})

 filtered_boxes = non_max_suppression(detected_boxes, confidence_threshold=FLAGS.conf_threshold,
                                      iou_threshold=FLAGS.iou_threshold)

 -    draw_boxes(filtered_boxes, img, classes, (FLAGS.size, FLAGS.size))
 +    draw_boxes(filtered_boxes, img_resized, classes, (FLAGS.size, FLAGS.size))

  -    img.save(FLAGS.output_img)
  +    img_resized.save(FLAGS.output_img)

if name == 'main':
diff --git a/yolo_v3.py b/yolo_v3.py
index 098e65c..7183b28 100644
--- a/yolo_v3.py
+++ b/yolo_v3.py
@@ -61,7 +61,7 @@ def _darknet53_block(inputs, filters):

@tf.contrib.framework.add_arg_scope
-def _fixed_padding(inputs, kernel_size, *args, mode='CONSTANT', **kwargs):
+def _fixed_padding(inputs, kernel_size, mode='CONSTANT', **kwargs):
"""
Pads the input along the spatial dimensions independently of input size.

@@ -146,7 +146,7 @@ def _detection_layer(inputs, num_classes, anchors, img_size, data_format):
box_centers = box_centers * stride

 anchors = tf.tile(anchors, [dim, 1])
  -    box_sizes = tf.exp(box_sizes) * anchors
  +    box_sizes = tf.exp(box_sizes) * tf.to_float(anchors)
 box_sizes = box_sizes * stride

 detections = tf.concat([box_centers, box_sizes, confidence], axis=-1)

How to convert the '.ckpt' file to '.pb'?

I want to inference from the yolo v3 network, as it is suggested to use '.pb' (frozen protobuf file) instead of '.ckpt' , before I do the transfer, i need know the name of output node, can you help to tell me how to get the '.pb' file and what is the output node name?
Best regards!

Why Is Yolo V3 tiny's performance so bad?

I am loading Yolov3 tiny model and yolov3-tiny.weights downloaded from pjreddie's site in demo.py but I am not getting very good results. Is it actually that bad or am I doing something wrong? Have a look at the attached image.

fastt

yolo-v3-tiny does not give any prediction

I have used your demo.py code along with yolo-v3 and yolov3.weights and it predicts the objects in an image very well, but when I run the demo.py code with yolo-v3-tiny and yolo-tiny.weights, the predicted output numpy array is always populated with NaN. I am unable to find a reason why yolo-v3-tiny is giving this output. Could you give a solution or reason as to why this might be happening?
I have attached an image of the predicted output being printed to the console.
tiny_error

Total parameter is out of 62 001 757

I have printed all layers, but the total param num is out of 62 001 757 , need your help?

detector/darknet-53/Conv/weights:0
ptr=128
shape=[3, 3, 3, 32]
num_params=864
detector/darknet-53/Conv_1/weights:0
ptr=1248
shape=[3, 3, 32, 64]
num_params=18432
detector/darknet-53/Conv_2/weights:0
ptr=19808
shape=[1, 1, 64, 32]
num_params=2048
detector/darknet-53/Conv_3/weights:0
ptr=22112
shape=[3, 3, 32, 64]
num_params=18432
detector/darknet-53/Conv_4/weights:0
ptr=41056
shape=[3, 3, 64, 128]
num_params=73728
detector/darknet-53/Conv_5/weights:0
ptr=115040
shape=[1, 1, 128, 64]
num_params=8192
detector/darknet-53/Conv_6/weights:0
ptr=123744
shape=[3, 3, 64, 128]
num_params=73728
detector/darknet-53/Conv_7/weights:0
ptr=197728
shape=[1, 1, 128, 64]
num_params=8192
detector/darknet-53/Conv_8/weights:0
ptr=206432
shape=[3, 3, 64, 128]
num_params=73728
detector/darknet-53/Conv_9/weights:0
ptr=281184
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_10/weights:0
ptr=576608
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_11/weights:0
ptr=610400
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_12/weights:0
ptr=905824
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_13/weights:0
ptr=939616
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_14/weights:0
ptr=1235040
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_15/weights:0
ptr=1268832
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_16/weights:0
ptr=1564256
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_17/weights:0
ptr=1598048
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_18/weights:0
ptr=1893472
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_19/weights:0
ptr=1927264
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_20/weights:0
ptr=2222688
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_21/weights:0
ptr=2256480
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_22/weights:0
ptr=2551904
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_23/weights:0
ptr=2585696
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_24/weights:0
ptr=2881120
shape=[1, 1, 256, 128]
num_params=32768
detector/darknet-53/Conv_25/weights:0
ptr=2914912
shape=[3, 3, 128, 256]
num_params=294912
detector/darknet-53/Conv_26/weights:0
ptr=3211872
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_27/weights:0
ptr=4392544
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_28/weights:0
ptr=4525664
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_29/weights:0
ptr=5706336
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_30/weights:0
ptr=5839456
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_31/weights:0
ptr=7020128
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_32/weights:0
ptr=7153248
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_33/weights:0
ptr=8333920
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_34/weights:0
ptr=8467040
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_35/weights:0
ptr=9647712
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_36/weights:0
ptr=9780832
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_37/weights:0
ptr=10961504
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_38/weights:0
ptr=11094624
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_39/weights:0
ptr=12275296
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_40/weights:0
ptr=12408416
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_41/weights:0
ptr=13589088
shape=[1, 1, 512, 256]
num_params=131072
detector/darknet-53/Conv_42/weights:0
ptr=13722208
shape=[3, 3, 256, 512]
num_params=1179648
detector/darknet-53/Conv_43/weights:0
ptr=14905952
shape=[3, 3, 512, 1024]
num_params=4718592
detector/darknet-53/Conv_44/weights:0
ptr=19626592
shape=[1, 1, 1024, 512]
num_params=524288
detector/darknet-53/Conv_45/weights:0
ptr=20154976
shape=[3, 3, 512, 1024]
num_params=4718592
detector/darknet-53/Conv_46/weights:0
ptr=24875616
shape=[1, 1, 1024, 512]
num_params=524288
detector/darknet-53/Conv_47/weights:0
ptr=25404000
shape=[3, 3, 512, 1024]
num_params=4718592
detector/darknet-53/Conv_48/weights:0
ptr=30124640
shape=[1, 1, 1024, 512]
num_params=524288
detector/darknet-53/Conv_49/weights:0
ptr=30653024
shape=[3, 3, 512, 1024]
num_params=4718592
detector/darknet-53/Conv_50/weights:0
ptr=35373664
shape=[1, 1, 1024, 512]
num_params=524288
detector/darknet-53/Conv_51/weights:0
ptr=35902048
shape=[3, 3, 512, 1024]
num_params=4718592
detector/yolo-v3/Conv/weights:0
ptr=40622688
shape=[1, 1, 1024, 512]
num_params=524288
detector/yolo-v3/Conv_1/weights:0
ptr=41151072
shape=[3, 3, 512, 1024]
num_params=4718592
detector/yolo-v3/Conv_2/weights:0
ptr=45871712
shape=[1, 1, 1024, 512]
num_params=524288
detector/yolo-v3/Conv_3/weights:0
ptr=46400096
shape=[3, 3, 512, 1024]
num_params=4718592
detector/yolo-v3/Conv_4/weights:0
ptr=51120736
shape=[1, 1, 1024, 512]
num_params=524288
detector/yolo-v3/Conv_5/weights:0
ptr=51649120
shape=[3, 3, 512, 1024]
num_params=4718592
detector/yolo-v3/Conv_6/weights:0
ptr=56368276
shape=[1, 1, 1024, 564]
num_params=577536
detector/yolo-v3/Conv_7/weights:0
ptr=56946836
shape=[1, 1, 512, 256]
num_params=131072
detector/yolo-v3/Conv_8/weights:0
ptr=57078932
shape=[1, 1, 768, 256]
num_params=196608
detector/yolo-v3/Conv_9/weights:0
ptr=57277588
shape=[3, 3, 256, 512]
num_params=1179648
detector/yolo-v3/Conv_10/weights:0
ptr=58458260
shape=[1, 1, 512, 256]
num_params=131072
detector/yolo-v3/Conv_11/weights:0
ptr=58591380
shape=[3, 3, 256, 512]
num_params=1179648
detector/yolo-v3/Conv_12/weights:0
ptr=59772052
shape=[1, 1, 512, 256]
num_params=131072
detector/yolo-v3/Conv_13/weights:0
ptr=59905172
shape=[3, 3, 256, 512]
num_params=1179648
detector/yolo-v3/Conv_14/weights:0
ptr=61085384
shape=[1, 1, 512, 564]
num_params=288768
detector/yolo-v3/Conv_15/weights:0
ptr=61374664
shape=[1, 1, 256, 128]
num_params=32768
detector/yolo-v3/Conv_16/weights:0
ptr=61407944
shape=[1, 1, 384, 128]
num_params=49152
detector/yolo-v3/Conv_17/weights:0
ptr=61458120
shape=[3, 3, 128, 256]
num_params=294912
detector/yolo-v3/Conv_18/weights:0
ptr=61753544
shape=[1, 1, 256, 128]
num_params=32768
detector/yolo-v3/Conv_19/weights:0
ptr=61787336
shape=[3, 3, 128, 256]
num_params=294912

Here,61787336+294912=62082248, but yolov3.weights total param is 62 001 757?

Potential error with zero valued coordinates in non_max_supression

During the non_max_suppression function, all zero value entries of predictions_with_boxes are removed. This can potentially run into problems if one of the bounding box coordinates is zero, resulting in the image_pred shape being wrong.

I got around it by filtering based on zero values in the confidence column, replacing lines 370-373 in yolo_v3.py:

shape = image_pred.shape
non_zero_idxs = np.nonzero(image_pred)
image_pred = image_pred[non_zero_idxs]
image_pred = image_pred.reshape(-1, shape[-1])

with:

image_pred = np.array(
    [p for p in image_pred if p[4] > 0]
)

I'm unsure if this is a particularly optimal solution though.

convert yolov3.weight to yolov3.pb in --data_format NHWC

@mystic123
HI GUYS:
when i use you convert_weight_pb.py to convert my modle yolov3-tiny.weight to yolov3-tiny.pb in --data_format NHWC ,it throw this bug
control_input_ops)
File "/home/sy/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1629, in _create_c_op
raise ValueError(str(e))
ValueError: Negative dimension size caused by subtracting 2 from 1 for 'detector/yolo-v3-tiny/pool2_1/MaxPool' (op: 'MaxPool') with input shapes: [?,1,208,32].
can anyone help me,thanks a lot

Do inference on larger batch size

Hi and thanks for the great work,

I noticed that running inference on a video will only produce around 50% of gpu load so I wondered if its possible to increase batch size to 2 images per cycle or more.

Something like that:


batch_size = 5

while( True ):
     image_np_list = []
     for _ in range(batch_size):
         ret, cv2_frame = cam.read()
         cv2_frame = cv2.cvtColor(cv2_frame,cv2.COLOR_BGR2RGB)
         orig_frame = Image.fromarray(cv2_frame)
         img_resized = letter_box_image(orig_frame, FLAGS.size, FLAGS.size, 128)
         img_resized = img_resized.astype(np.float32)
         image_np_list.append(img_resized)`
      
      image_np_expanded = np.asarray(image_np_list)
      detected_boxes = sess.run(
                    boxes, feed_dict={inputs: image_np_list})

The issue is that the model seems to assume a tensor of shape (1, 416,416,3)

ValueError: Cannot feed value of shape (5, 416, 416, 3) for Tensor 'Placeholder:0', which has shape '(1, 416, 416, 3)'

Do you know a way around this ?

Thanks for your help !

Best

get this error

python ./demo.py --input_img autos.jpg --output_img autos2.jpg --weights_file yolov3.weights
Dimension size,given by scalr input 2, must be non negative but is -1 for 'detector/yolo-v3/split' <op_ 'SplitV'> with input shapes: [?,507,85],[4],[].

conver_weight_pb. NCHW data_format

@mystic123 hi guys
thanks for you great job,I trying use your code convert_weight_pb.py to convert my.weight to my.pb,my goal is to use the my.pb file to another format(such as snpe .dlc),but in it's tools it did't support NCHW format,how can i change your code to conver my.weight to my.pb in cpu ? thanks a lot

Some questions about weights file

Thanks for your nice codes, and I have two questions about the yolo weight file:

  1. In your load_weight function, you read the weights in the order of 'gamma, beta, mean, var', but then you change the order to 'beta, gamma, mean, var' in next line, is that correct?
if 'BatchNorm' in var2.name.split('/')[-2]:
    gamma, beta, mean, var = var_list[i + 1:i + 5]
    batch_norm_vars = [beta, gamma, mean, var]
    for var in batch_norm_vars:
        shape = var.shape.as_list()
        num_params = np.prod(shape)
        var_weights = weights[ptr:ptr + num_params].reshape(shape)
        ptr += num_params
        assign_ops.append(tf.assign(var, var_weights, validate_shape=True))
  1. I find there are only 4 variables in the head of weight file in save_weight_up_to function in https://github.com/pjreddie/darknet/blob/master/src/parser.c, but you mention 5 in your readme article https://itnext.io/implementing-yolo-v3-in-tensorflow-tf-slim-c3c55ff59dbe, and I find only 'scale, rolling_mean, rolling_variance' in save_batchnorm_weights function. So I am confused about the total weight file. Can you help me out?

making this code work for real time detection or detection in videos

Hey, thank you so much for posting the code. I was able to detect objects using the code for some images I input to the code. But I am trying to make it work for real time detection using the webcam or using a pre-captured video. I tried displaying the webcam frame using OpenCV and inputing that captured frame as the input to the input image. But I am getting the following error.

yoloerror1

@mystic123 , I would like to know if what what I am doing is wrong or the easiest way to achieve this task.
Thanks in advance!

Your Tiny yolo v3 implementation seems to be wrong

Hy @mystic123 ,

It seems that you implementation is not exactly the same as the original one (which is leading to bad performance in detection).

Here are the clues :
According to the original implementation here

You should uncomment these line in your code :
here
and here

Can you explain us why you have commented these lines ?

Some question in use the convert to .pb file

@mystic123 hi guy,thanks a lot for you wonderful code,In my project, i need to use the .pb file,but the darkflow https://github.com/thtrieu/darkflow didn't support yolov3 ,so I try you code,It works,but it's not work
in tensorflow office android demo ,so i check the problem,i found the yolov2-tiny.pb file like this:
`input <bound method Operation.values of <tf.Operation 'input' type=Placeholder>>
Pad/paddings <bound method Operation.values of <tf.Operation 'Pad/paddings' type=Const>>
Pad <bound method Operation.values of <tf.Operation 'Pad' type=Pad>>
0-convolutional/filter <bound method Operation.values of <tf.Operation '0-convolutional/filter' type=Const>>
0-convolutional <bound method Operation.values of <tf.Operation '0-convolutional' type=Conv2D>>
sub/y <bound method Operation.values of <tf.Operation 'sub/y' type=Const>>
sub <bound method Operation.values of <tf.Operation 'sub' type=Sub>>
truediv/y <bound method Operation.values of <tf.Operation 'truediv/y' type=Const>>
truediv <bound method Operation.values of <tf.Operation 'truediv' type=RealDiv>>
mul/y <bound method Operation.values of <tf.Operation 'mul/y' type=Const>>
mul <bound method Operation.values of <tf.Operation 'mul' type=Mul>>
BiasAdd/bias <bound method Operation.values of <tf.Operation 'BiasAdd/bias' type=Const>>
BiasAdd <bound method Operation.values of <tf.Operation 'BiasAdd' type=BiasAdd>>
mul_1/x <bound method Operation.values of <tf.Operation 'mul_1/x' type=Const>>
mul_1 <bound method Operation.values of <tf.Operation 'mul_1' type=Mul>>
1-leaky <bound method Operation.values of <tf.Operation '1-leaky' type=Maximum>>
2-maxpool <bound method Operation.values of <tf.Operation '2-maxpool' type=MaxPool>>
Pad_1/paddings <bound method Operation.values of <tf.Operation 'Pad_1/paddings' type=Const>>
Pad_1 <bound method Operation.values of <tf.Operation 'Pad_1' type=Pad>>
3-convolutional/filter <bound method Operation.values of <tf.Operation '3-convolutional/filter' type=Const>>
3-convolutional <bound method Operation.values of <tf.Operation '3-convolutional' type=Conv2D>>
sub_1/y <bound method Operation.values of <tf.Operation 'sub_1/y' type=Const>>
sub_1 <bound method Operation.values of <tf.Operation 'sub_1' type=Sub>>
truediv_1/y <bound method Operation.values of <tf.Operation 'truediv_1/y' type=Const>>
truediv_1 <bound method Operation.values of <tf.Operation 'truediv_1' type=RealDiv>>
mul_2/y <bound method Operation.values of <tf.Operation 'mul_2/y' type=Const>>
mul_2 <bound method Operation.values of <tf.Operation 'mul_2' type=Mul>>
BiasAdd_1/bias <bound method Operation.values of <tf.Operation 'BiasAdd_1/bias' type=Const>>
BiasAdd_1 <bound method Operation.values of <tf.Operation 'BiasAdd_1' type=BiasAdd>>
mul_3/x <bound method Operation.values of <tf.Operation 'mul_3/x' type=Const>>
mul_3 <bound method Operation.values of <tf.Operation 'mul_3' type=Mul>>
4-leaky <bound method Operation.values of <tf.Operation '4-leaky' type=Maximum>>
5-maxpool <bound method Operation.values of <tf.Operation '5-maxpool' type=MaxPool>>
Pad_2/paddings <bound method Operation.values of <tf.Operation 'Pad_2/paddings' type=Const>>
Pad_2 <bound method Operation.values of <tf.Operation 'Pad_2' type=Pad>>
6-convolutional/filter <bound method Operation.values of <tf.Operation '6-convolutional/filter' type=Const>>
6-convolutional <bound method Operation.values of <tf.Operation '6-convolutional' type=Conv2D>>
sub_2/y <bound method Operation.values of <tf.Operation 'sub_2/y' type=Const>>
sub_2 <bound method Operation.values of <tf.Operation 'sub_2' type=Sub>>
truediv_2/y <bound method Operation.values of <tf.Operation 'truediv_2/y' type=Const>>
truediv_2 <bound method Operation.values of <tf.Operation 'truediv_2' type=RealDiv>>
mul_4/y <bound method Operation.values of <tf.Operation 'mul_4/y' type=Const>>
mul_4 <bound method Operation.values of <tf.Operation 'mul_4' type=Mul>>
BiasAdd_2/bias <bound method Operation.values of <tf.Operation 'BiasAdd_2/bias' type=Const>>
BiasAdd_2 <bound method Operation.values of <tf.Operation 'BiasAdd_2' type=BiasAdd>>
mul_5/x <bound method Operation.values of <tf.Operation 'mul_5/x' type=Const>>
mul_5 <bound method Operation.values of <tf.Operation 'mul_5' type=Mul>>
7-leaky <bound method Operation.values of <tf.Operation '7-leaky' type=Maximum>>
8-maxpool <bound method Operation.values of <tf.Operation '8-maxpool' type=MaxPool>>
Pad_3/paddings <bound method Operation.values of <tf.Operation 'Pad_3/paddings' type=Const>>
Pad_3 <bound method Operation.values of <tf.Operation 'Pad_3' type=Pad>>
9-convolutional/filter <bound method Operation.values of <tf.Operation '9-convolutional/filter' type=Const>>
9-convolutional <bound method Operation.values of <tf.Operation '9-convolutional' type=Conv2D>>
sub_3/y <bound method Operation.values of <tf.Operation 'sub_3/y' type=Const>>
sub_3 <bound method Operation.values of <tf.Operation 'sub_3' type=Sub>>
truediv_3/y <bound method Operation.values of <tf.Operation 'truediv_3/y' type=Const>>
truediv_3 <bound method Operation.values of <tf.Operation 'truediv_3' type=RealDiv>>
mul_6/y <bound method Operation.values of <tf.Operation 'mul_6/y' type=Const>>
mul_6 <bound method Operation.values of <tf.Operation 'mul_6' type=Mul>>
BiasAdd_3/bias <bound method Operation.values of <tf.Operation 'BiasAdd_3/bias' type=Const>>
BiasAdd_3 <bound method Operation.values of <tf.Operation 'BiasAdd_3' type=BiasAdd>>
mul_7/x <bound method Operation.values of <tf.Operation 'mul_7/x' type=Const>>
mul_7 <bound method Operation.values of <tf.Operation 'mul_7' type=Mul>>
10-leaky <bound method Operation.values of <tf.Operation '10-leaky' type=Maximum>>
11-maxpool <bound method Operation.values of <tf.Operation '11-maxpool' type=MaxPool>>
Pad_4/paddings <bound method Operation.values of <tf.Operation 'Pad_4/paddings' type=Const>>
Pad_4 <bound method Operation.values of <tf.Operation 'Pad_4' type=Pad>>
12-convolutional/filter <bound method Operation.values of <tf.Operation '12-convolutional/filter' type=Const>>
12-convolutional <bound method Operation.values of <tf.Operation '12-convolutional' type=Conv2D>>
sub_4/y <bound method Operation.values of <tf.Operation 'sub_4/y' type=Const>>
sub_4 <bound method Operation.values of <tf.Operation 'sub_4' type=Sub>>
truediv_4/y <bound method Operation.values of <tf.Operation 'truediv_4/y' type=Const>>
truediv_4 <bound method Operation.values of <tf.Operation 'truediv_4' type=RealDiv>>
mul_8/y <bound method Operation.values of <tf.Operation 'mul_8/y' type=Const>>
mul_8 <bound method Operation.values of <tf.Operation 'mul_8' type=Mul>>
BiasAdd_4/bias <bound method Operation.values of <tf.Operation 'BiasAdd_4/bias' type=Const>>
BiasAdd_4 <bound method Operation.values of <tf.Operation 'BiasAdd_4' type=BiasAdd>>
mul_9/x <bound method Operation.values of <tf.Operation 'mul_9/x' type=Const>>
mul_9 <bound method Operation.values of <tf.Operation 'mul_9' type=Mul>>
13-leaky <bound method Operation.values of <tf.Operation '13-leaky' type=Maximum>>
14-maxpool <bound method Operation.values of <tf.Operation '14-maxpool' type=MaxPool>>
Pad_5/paddings <bound method Operation.values of <tf.Operation 'Pad_5/paddings' type=Const>>
Pad_5 <bound method Operation.values of <tf.Operation 'Pad_5' type=Pad>>
15-convolutional/filter <bound method Operation.values of <tf.Operation '15-convolutional/filter' type=Const>>
15-convolutional <bound method Operation.values of <tf.Operation '15-convolutional' type=Conv2D>>
sub_5/y <bound method Operation.values of <tf.Operation 'sub_5/y' type=Const>>
sub_5 <bound method Operation.values of <tf.Operation 'sub_5' type=Sub>>
truediv_5/y <bound method Operation.values of <tf.Operation 'truediv_5/y' type=Const>>
truediv_5 <bound method Operation.values of <tf.Operation 'truediv_5' type=RealDiv>>
mul_10/y <bound method Operation.values of <tf.Operation 'mul_10/y' type=Const>>
mul_10 <bound method Operation.values of <tf.Operation 'mul_10' type=Mul>>
BiasAdd_5/bias <bound method Operation.values of <tf.Operation 'BiasAdd_5/bias' type=Const>>
BiasAdd_5 <bound method Operation.values of <tf.Operation 'BiasAdd_5' type=BiasAdd>>
mul_11/x <bound method Operation.values of <tf.Operation 'mul_11/x' type=Const>>
mul_11 <bound method Operation.values of <tf.Operation 'mul_11' type=Mul>>
16-leaky <bound method Operation.values of <tf.Operation '16-leaky' type=Maximum>>
17-maxpool <bound method Operation.values of <tf.Operation '17-maxpool' type=MaxPool>>
Pad_6/paddings <bound method Operation.values of <tf.Operation 'Pad_6/paddings' type=Const>>
Pad_6 <bound method Operation.values of <tf.Operation 'Pad_6' type=Pad>>
18-convolutional/filter <bound method Operation.values of <tf.Operation '18-convolutional/filter' type=Const>>
18-convolutional <bound method Operation.values of <tf.Operation '18-convolutional' type=Conv2D>>
sub_6/y <bound method Operation.values of <tf.Operation 'sub_6/y' type=Const>>
sub_6 <bound method Operation.values of <tf.Operation 'sub_6' type=Sub>>
truediv_6/y <bound method Operation.values of <tf.Operation 'truediv_6/y' type=Const>>
truediv_6 <bound method Operation.values of <tf.Operation 'truediv_6' type=RealDiv>>
mul_12/y <bound method Operation.values of <tf.Operation 'mul_12/y' type=Const>>
mul_12 <bound method Operation.values of <tf.Operation 'mul_12' type=Mul>>
BiasAdd_6/bias <bound method Operation.values of <tf.Operation 'BiasAdd_6/bias' type=Const>>
BiasAdd_6 <bound method Operation.values of <tf.Operation 'BiasAdd_6' type=BiasAdd>>
mul_13/x <bound method Operation.values of <tf.Operation 'mul_13/x' type=Const>>
mul_13 <bound method Operation.values of <tf.Operation 'mul_13' type=Mul>>
19-leaky <bound method Operation.values of <tf.Operation '19-leaky' type=Maximum>>
Pad_7/paddings <bound method Operation.values of <tf.Operation 'Pad_7/paddings' type=Const>>
Pad_7 <bound method Operation.values of <tf.Operation 'Pad_7' type=Pad>>
20-convolutional/filter <bound method Operation.values of <tf.Operation '20-convolutional/filter' type=Const>>
20-convolutional <bound method Operation.values of <tf.Operation '20-convolutional' type=Conv2D>>
sub_7/y <bound method Operation.values of <tf.Operation 'sub_7/y' type=Const>>
sub_7 <bound method Operation.values of <tf.Operation 'sub_7' type=Sub>>
truediv_7/y <bound method Operation.values of <tf.Operation 'truediv_7/y' type=Const>>
truediv_7 <bound method Operation.values of <tf.Operation 'truediv_7' type=RealDiv>>
mul_14/y <bound method Operation.values of <tf.Operation 'mul_14/y' type=Const>>
mul_14 <bound method Operation.values of <tf.Operation 'mul_14' type=Mul>>
BiasAdd_7/bias <bound method Operation.values of <tf.Operation 'BiasAdd_7/bias' type=Const>>
BiasAdd_7 <bound method Operation.values of <tf.Operation 'BiasAdd_7' type=BiasAdd>>
mul_15/x <bound method Operation.values of <tf.Operation 'mul_15/x' type=Const>>
mul_15 <bound method Operation.values of <tf.Operation 'mul_15' type=Mul>>
21-leaky <bound method Operation.values of <tf.Operation '21-leaky' type=Maximum>>
Pad_8/paddings <bound method Operation.values of <tf.Operation 'Pad_8/paddings' type=Const>>
Pad_8 <bound method Operation.values of <tf.Operation 'Pad_8' type=Pad>>
22-convolutional/filter <bound method Operation.values of <tf.Operation '22-convolutional/filter' type=Const>>
22-convolutional <bound method Operation.values of <tf.Operation '22-convolutional' type=Conv2D>>
BiasAdd_8/bias <bound method Operation.values of <tf.Operation 'BiasAdd_8/bias' type=Const>>
BiasAdd_8 <bound method Operation.values of <tf.Operation 'BiasAdd_8' type=BiasAdd>>
output <bound method Operation.values of <tf.Operation 'output' type=Identity>>
init <bound method Operation.values of <tf.Operation 'init' type=NoOp>>

but in your convert-weight-pb.py it like this:
input_1 <bound method Operation.values of <tf.Operation 'input_1' type=Placeholder>> conv2d_1/kernel <bound method Operation.values of <tf.Operation 'conv2d_1/kernel' type=Const>> conv2d_1/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_1/kernel/read' type=Identity>> conv2d_1/convolution <bound method Operation.values of <tf.Operation 'conv2d_1/convolution' type=Conv2D>> batch_normalization_1/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_1/gamma' type=Const>> batch_normalization_1/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_1/gamma/read' type=Identity>> batch_normalization_1/beta <bound method Operation.values of <tf.Operation 'batch_normalization_1/beta' type=Const>> batch_normalization_1/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_1/beta/read' type=Identity>> batch_normalization_1/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_1/moving_mean' type=Const>> batch_normalization_1/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_1/moving_mean/read' type=Identity>> batch_normalization_1/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_1/moving_variance' type=Const>> batch_normalization_1/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_1/moving_variance/read' type=Identity>> batch_normalization_1/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/add/y' type=Const>> batch_normalization_1/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/add' type=Add>> batch_normalization_1/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_1/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/mul' type=Mul>> batch_normalization_1/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/mul_1' type=Mul>> batch_normalization_1/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/mul_2' type=Mul>> batch_normalization_1/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/sub' type=Sub>> batch_normalization_1/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_1/batchnorm_1/add_1' type=Add>> leaky_re_lu_1/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/Neg' type=Neg>> leaky_re_lu_1/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/Relu' type=Relu>> leaky_re_lu_1/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/Relu_1' type=Relu>> leaky_re_lu_1/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/Const' type=Const>> leaky_re_lu_1/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/mul' type=Mul>> leaky_re_lu_1/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_1/sub' type=Sub>> max_pooling2d_1/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_1/MaxPool' type=MaxPool>> conv2d_2/kernel <bound method Operation.values of <tf.Operation 'conv2d_2/kernel' type=Const>> conv2d_2/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_2/kernel/read' type=Identity>> conv2d_2/convolution <bound method Operation.values of <tf.Operation 'conv2d_2/convolution' type=Conv2D>> batch_normalization_2/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_2/gamma' type=Const>> batch_normalization_2/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_2/gamma/read' type=Identity>> batch_normalization_2/beta <bound method Operation.values of <tf.Operation 'batch_normalization_2/beta' type=Const>> batch_normalization_2/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_2/beta/read' type=Identity>> batch_normalization_2/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_2/moving_mean' type=Const>> batch_normalization_2/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_2/moving_mean/read' type=Identity>> batch_normalization_2/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_2/moving_variance' type=Const>> batch_normalization_2/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_2/moving_variance/read' type=Identity>> batch_normalization_2/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/add/y' type=Const>> batch_normalization_2/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/add' type=Add>> batch_normalization_2/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_2/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/mul' type=Mul>> batch_normalization_2/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/mul_1' type=Mul>> batch_normalization_2/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/mul_2' type=Mul>> batch_normalization_2/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/sub' type=Sub>> batch_normalization_2/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_2/batchnorm_1/add_1' type=Add>> leaky_re_lu_2/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/Neg' type=Neg>> leaky_re_lu_2/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/Relu' type=Relu>> leaky_re_lu_2/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/Relu_1' type=Relu>> leaky_re_lu_2/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/Const' type=Const>> leaky_re_lu_2/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/mul' type=Mul>> leaky_re_lu_2/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_2/sub' type=Sub>> max_pooling2d_2/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_2/MaxPool' type=MaxPool>> conv2d_3/kernel <bound method Operation.values of <tf.Operation 'conv2d_3/kernel' type=Const>> conv2d_3/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_3/kernel/read' type=Identity>> conv2d_3/convolution <bound method Operation.values of <tf.Operation 'conv2d_3/convolution' type=Conv2D>> batch_normalization_3/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_3/gamma' type=Const>> batch_normalization_3/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_3/gamma/read' type=Identity>> batch_normalization_3/beta <bound method Operation.values of <tf.Operation 'batch_normalization_3/beta' type=Const>> batch_normalization_3/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_3/beta/read' type=Identity>> batch_normalization_3/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_3/moving_mean' type=Const>> batch_normalization_3/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_3/moving_mean/read' type=Identity>> batch_normalization_3/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_3/moving_variance' type=Const>> batch_normalization_3/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_3/moving_variance/read' type=Identity>> batch_normalization_3/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/add/y' type=Const>> batch_normalization_3/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/add' type=Add>> batch_normalization_3/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_3/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/mul' type=Mul>> batch_normalization_3/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/mul_1' type=Mul>> batch_normalization_3/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/mul_2' type=Mul>> batch_normalization_3/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/sub' type=Sub>> batch_normalization_3/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_3/batchnorm_1/add_1' type=Add>> leaky_re_lu_3/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/Neg' type=Neg>> leaky_re_lu_3/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/Relu' type=Relu>> leaky_re_lu_3/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/Relu_1' type=Relu>> leaky_re_lu_3/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/Const' type=Const>> leaky_re_lu_3/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/mul' type=Mul>> leaky_re_lu_3/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_3/sub' type=Sub>> max_pooling2d_3/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_3/MaxPool' type=MaxPool>> conv2d_4/kernel <bound method Operation.values of <tf.Operation 'conv2d_4/kernel' type=Const>> conv2d_4/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_4/kernel/read' type=Identity>> conv2d_4/convolution <bound method Operation.values of <tf.Operation 'conv2d_4/convolution' type=Conv2D>> batch_normalization_4/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_4/gamma' type=Const>> batch_normalization_4/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_4/gamma/read' type=Identity>> batch_normalization_4/beta <bound method Operation.values of <tf.Operation 'batch_normalization_4/beta' type=Const>> batch_normalization_4/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_4/beta/read' type=Identity>> batch_normalization_4/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_4/moving_mean' type=Const>> batch_normalization_4/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_4/moving_mean/read' type=Identity>> batch_normalization_4/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_4/moving_variance' type=Const>> batch_normalization_4/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_4/moving_variance/read' type=Identity>> batch_normalization_4/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/add/y' type=Const>> batch_normalization_4/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/add' type=Add>> batch_normalization_4/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_4/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/mul' type=Mul>> batch_normalization_4/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/mul_1' type=Mul>> batch_normalization_4/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/mul_2' type=Mul>> batch_normalization_4/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/sub' type=Sub>> batch_normalization_4/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_4/batchnorm_1/add_1' type=Add>> leaky_re_lu_4/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/Neg' type=Neg>> leaky_re_lu_4/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/Relu' type=Relu>> leaky_re_lu_4/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/Relu_1' type=Relu>> leaky_re_lu_4/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/Const' type=Const>> leaky_re_lu_4/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/mul' type=Mul>> leaky_re_lu_4/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_4/sub' type=Sub>> max_pooling2d_4/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_4/MaxPool' type=MaxPool>> conv2d_5/kernel <bound method Operation.values of <tf.Operation 'conv2d_5/kernel' type=Const>> conv2d_5/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_5/kernel/read' type=Identity>> conv2d_5/convolution <bound method Operation.values of <tf.Operation 'conv2d_5/convolution' type=Conv2D>> batch_normalization_5/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_5/gamma' type=Const>> batch_normalization_5/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_5/gamma/read' type=Identity>> batch_normalization_5/beta <bound method Operation.values of <tf.Operation 'batch_normalization_5/beta' type=Const>> batch_normalization_5/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_5/beta/read' type=Identity>> batch_normalization_5/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_5/moving_mean' type=Const>> batch_normalization_5/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_5/moving_mean/read' type=Identity>> batch_normalization_5/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_5/moving_variance' type=Const>> batch_normalization_5/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_5/moving_variance/read' type=Identity>> batch_normalization_5/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/add/y' type=Const>> batch_normalization_5/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/add' type=Add>> batch_normalization_5/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_5/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/mul' type=Mul>> batch_normalization_5/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/mul_1' type=Mul>> batch_normalization_5/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/mul_2' type=Mul>> batch_normalization_5/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/sub' type=Sub>> batch_normalization_5/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_5/batchnorm_1/add_1' type=Add>> leaky_re_lu_5/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/Neg' type=Neg>> leaky_re_lu_5/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/Relu' type=Relu>> leaky_re_lu_5/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/Relu_1' type=Relu>> leaky_re_lu_5/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/Const' type=Const>> leaky_re_lu_5/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/mul' type=Mul>> leaky_re_lu_5/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_5/sub' type=Sub>> max_pooling2d_5/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_5/MaxPool' type=MaxPool>> conv2d_6/kernel <bound method Operation.values of <tf.Operation 'conv2d_6/kernel' type=Const>> conv2d_6/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_6/kernel/read' type=Identity>> conv2d_6/convolution <bound method Operation.values of <tf.Operation 'conv2d_6/convolution' type=Conv2D>> batch_normalization_6/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_6/gamma' type=Const>> batch_normalization_6/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_6/gamma/read' type=Identity>> batch_normalization_6/beta <bound method Operation.values of <tf.Operation 'batch_normalization_6/beta' type=Const>> batch_normalization_6/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_6/beta/read' type=Identity>> batch_normalization_6/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_6/moving_mean' type=Const>> batch_normalization_6/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_6/moving_mean/read' type=Identity>> batch_normalization_6/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_6/moving_variance' type=Const>> batch_normalization_6/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_6/moving_variance/read' type=Identity>> batch_normalization_6/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/add/y' type=Const>> batch_normalization_6/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/add' type=Add>> batch_normalization_6/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_6/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/mul' type=Mul>> batch_normalization_6/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/mul_1' type=Mul>> batch_normalization_6/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/mul_2' type=Mul>> batch_normalization_6/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/sub' type=Sub>> batch_normalization_6/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_6/batchnorm_1/add_1' type=Add>> leaky_re_lu_6/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/Neg' type=Neg>> leaky_re_lu_6/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/Relu' type=Relu>> leaky_re_lu_6/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/Relu_1' type=Relu>> leaky_re_lu_6/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/Const' type=Const>> leaky_re_lu_6/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/mul' type=Mul>> leaky_re_lu_6/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_6/sub' type=Sub>> max_pooling2d_6/MaxPool <bound method Operation.values of <tf.Operation 'max_pooling2d_6/MaxPool' type=MaxPool>> conv2d_7/kernel <bound method Operation.values of <tf.Operation 'conv2d_7/kernel' type=Const>> conv2d_7/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_7/kernel/read' type=Identity>> conv2d_7/convolution <bound method Operation.values of <tf.Operation 'conv2d_7/convolution' type=Conv2D>> batch_normalization_7/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_7/gamma' type=Const>> batch_normalization_7/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_7/gamma/read' type=Identity>> batch_normalization_7/beta <bound method Operation.values of <tf.Operation 'batch_normalization_7/beta' type=Const>> batch_normalization_7/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_7/beta/read' type=Identity>> batch_normalization_7/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_7/moving_mean' type=Const>> batch_normalization_7/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_7/moving_mean/read' type=Identity>> batch_normalization_7/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_7/moving_variance' type=Const>> batch_normalization_7/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_7/moving_variance/read' type=Identity>> batch_normalization_7/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/add/y' type=Const>> batch_normalization_7/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/add' type=Add>> batch_normalization_7/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_7/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/mul' type=Mul>> batch_normalization_7/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/mul_1' type=Mul>> batch_normalization_7/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/mul_2' type=Mul>> batch_normalization_7/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/sub' type=Sub>> batch_normalization_7/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_7/batchnorm_1/add_1' type=Add>> leaky_re_lu_7/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/Neg' type=Neg>> leaky_re_lu_7/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/Relu' type=Relu>> leaky_re_lu_7/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/Relu_1' type=Relu>> leaky_re_lu_7/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/Const' type=Const>> leaky_re_lu_7/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/mul' type=Mul>> leaky_re_lu_7/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_7/sub' type=Sub>> conv2d_8/kernel <bound method Operation.values of <tf.Operation 'conv2d_8/kernel' type=Const>> conv2d_8/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_8/kernel/read' type=Identity>> conv2d_8/convolution <bound method Operation.values of <tf.Operation 'conv2d_8/convolution' type=Conv2D>> batch_normalization_8/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_8/gamma' type=Const>> batch_normalization_8/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_8/gamma/read' type=Identity>> batch_normalization_8/beta <bound method Operation.values of <tf.Operation 'batch_normalization_8/beta' type=Const>> batch_normalization_8/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_8/beta/read' type=Identity>> batch_normalization_8/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_8/moving_mean' type=Const>> batch_normalization_8/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_8/moving_mean/read' type=Identity>> batch_normalization_8/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_8/moving_variance' type=Const>> batch_normalization_8/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_8/moving_variance/read' type=Identity>> batch_normalization_8/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/add/y' type=Const>> batch_normalization_8/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/add' type=Add>> batch_normalization_8/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_8/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/mul' type=Mul>> batch_normalization_8/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/mul_1' type=Mul>> batch_normalization_8/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/mul_2' type=Mul>> batch_normalization_8/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/sub' type=Sub>> batch_normalization_8/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_8/batchnorm_1/add_1' type=Add>> leaky_re_lu_8/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/Neg' type=Neg>> leaky_re_lu_8/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/Relu' type=Relu>> leaky_re_lu_8/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/Relu_1' type=Relu>> leaky_re_lu_8/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/Const' type=Const>> leaky_re_lu_8/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/mul' type=Mul>> leaky_re_lu_8/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_8/sub' type=Sub>> conv2d_11/kernel <bound method Operation.values of <tf.Operation 'conv2d_11/kernel' type=Const>> conv2d_11/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_11/kernel/read' type=Identity>> conv2d_11/convolution <bound method Operation.values of <tf.Operation 'conv2d_11/convolution' type=Conv2D>> batch_normalization_10/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_10/gamma' type=Const>> batch_normalization_10/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_10/gamma/read' type=Identity>> batch_normalization_10/beta <bound method Operation.values of <tf.Operation 'batch_normalization_10/beta' type=Const>> batch_normalization_10/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_10/beta/read' type=Identity>> batch_normalization_10/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_10/moving_mean' type=Const>> batch_normalization_10/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_10/moving_mean/read' type=Identity>> batch_normalization_10/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_10/moving_variance' type=Const>> batch_normalization_10/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_10/moving_variance/read' type=Identity>> batch_normalization_10/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/add/y' type=Const>> batch_normalization_10/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/add' type=Add>> batch_normalization_10/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_10/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/mul' type=Mul>> batch_normalization_10/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/mul_1' type=Mul>> batch_normalization_10/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/mul_2' type=Mul>> batch_normalization_10/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/sub' type=Sub>> batch_normalization_10/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_10/batchnorm_1/add_1' type=Add>> leaky_re_lu_10/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/Neg' type=Neg>> leaky_re_lu_10/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/Relu' type=Relu>> leaky_re_lu_10/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/Relu_1' type=Relu>> leaky_re_lu_10/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/Const' type=Const>> leaky_re_lu_10/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/mul' type=Mul>> leaky_re_lu_10/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_10/sub' type=Sub>> up_sampling2d_1/Shape <bound method Operation.values of <tf.Operation 'up_sampling2d_1/Shape' type=Shape>> up_sampling2d_1/strided_slice/stack <bound method Operation.values of <tf.Operation 'up_sampling2d_1/strided_slice/stack' type=Const>> up_sampling2d_1/strided_slice/stack_1 <bound method Operation.values of <tf.Operation 'up_sampling2d_1/strided_slice/stack_1' type=Const>> up_sampling2d_1/strided_slice/stack_2 <bound method Operation.values of <tf.Operation 'up_sampling2d_1/strided_slice/stack_2' type=Const>> up_sampling2d_1/strided_slice <bound method Operation.values of <tf.Operation 'up_sampling2d_1/strided_slice' type=StridedSlice>> up_sampling2d_1/Const <bound method Operation.values of <tf.Operation 'up_sampling2d_1/Const' type=Const>> up_sampling2d_1/mul <bound method Operation.values of <tf.Operation 'up_sampling2d_1/mul' type=Mul>> up_sampling2d_1/ResizeNearestNeighbor <bound method Operation.values of <tf.Operation 'up_sampling2d_1/ResizeNearestNeighbor' type=ResizeNearestNeighbor>> concatenate_1/concat/axis <bound method Operation.values of <tf.Operation 'concatenate_1/concat/axis' type=Const>> concatenate_1/concat <bound method Operation.values of <tf.Operation 'concatenate_1/concat' type=ConcatV2>> conv2d_9/kernel <bound method Operation.values of <tf.Operation 'conv2d_9/kernel' type=Const>> conv2d_9/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_9/kernel/read' type=Identity>> conv2d_9/convolution <bound method Operation.values of <tf.Operation 'conv2d_9/convolution' type=Conv2D>> conv2d_12/kernel <bound method Operation.values of <tf.Operation 'conv2d_12/kernel' type=Const>> conv2d_12/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_12/kernel/read' type=Identity>> conv2d_12/convolution <bound method Operation.values of <tf.Operation 'conv2d_12/convolution' type=Conv2D>> batch_normalization_9/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_9/gamma' type=Const>> batch_normalization_9/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_9/gamma/read' type=Identity>> batch_normalization_9/beta <bound method Operation.values of <tf.Operation 'batch_normalization_9/beta' type=Const>> batch_normalization_9/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_9/beta/read' type=Identity>> batch_normalization_9/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_9/moving_mean' type=Const>> batch_normalization_9/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_9/moving_mean/read' type=Identity>> batch_normalization_9/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_9/moving_variance' type=Const>> batch_normalization_9/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_9/moving_variance/read' type=Identity>> batch_normalization_9/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/add/y' type=Const>> batch_normalization_9/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/add' type=Add>> batch_normalization_9/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_9/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/mul' type=Mul>> batch_normalization_9/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/mul_1' type=Mul>> batch_normalization_9/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/mul_2' type=Mul>> batch_normalization_9/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/sub' type=Sub>> batch_normalization_9/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_9/batchnorm_1/add_1' type=Add>> batch_normalization_11/gamma <bound method Operation.values of <tf.Operation 'batch_normalization_11/gamma' type=Const>> batch_normalization_11/gamma/read <bound method Operation.values of <tf.Operation 'batch_normalization_11/gamma/read' type=Identity>> batch_normalization_11/beta <bound method Operation.values of <tf.Operation 'batch_normalization_11/beta' type=Const>> batch_normalization_11/beta/read <bound method Operation.values of <tf.Operation 'batch_normalization_11/beta/read' type=Identity>> batch_normalization_11/moving_mean <bound method Operation.values of <tf.Operation 'batch_normalization_11/moving_mean' type=Const>> batch_normalization_11/moving_mean/read <bound method Operation.values of <tf.Operation 'batch_normalization_11/moving_mean/read' type=Identity>> batch_normalization_11/moving_variance <bound method Operation.values of <tf.Operation 'batch_normalization_11/moving_variance' type=Const>> batch_normalization_11/moving_variance/read <bound method Operation.values of <tf.Operation 'batch_normalization_11/moving_variance/read' type=Identity>> batch_normalization_11/batchnorm_1/add/y <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/add/y' type=Const>> batch_normalization_11/batchnorm_1/add <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/add' type=Add>> batch_normalization_11/batchnorm_1/Rsqrt <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/Rsqrt' type=Rsqrt>> batch_normalization_11/batchnorm_1/mul <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/mul' type=Mul>> batch_normalization_11/batchnorm_1/mul_1 <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/mul_1' type=Mul>> batch_normalization_11/batchnorm_1/mul_2 <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/mul_2' type=Mul>> batch_normalization_11/batchnorm_1/sub <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/sub' type=Sub>> batch_normalization_11/batchnorm_1/add_1 <bound method Operation.values of <tf.Operation 'batch_normalization_11/batchnorm_1/add_1' type=Add>> leaky_re_lu_9/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/Neg' type=Neg>> leaky_re_lu_9/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/Relu' type=Relu>> leaky_re_lu_9/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/Relu_1' type=Relu>> leaky_re_lu_9/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/Const' type=Const>> leaky_re_lu_9/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/mul' type=Mul>> leaky_re_lu_9/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_9/sub' type=Sub>> leaky_re_lu_11/Neg <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/Neg' type=Neg>> leaky_re_lu_11/Relu <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/Relu' type=Relu>> leaky_re_lu_11/Relu_1 <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/Relu_1' type=Relu>> leaky_re_lu_11/Const <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/Const' type=Const>> leaky_re_lu_11/mul <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/mul' type=Mul>> leaky_re_lu_11/sub <bound method Operation.values of <tf.Operation 'leaky_re_lu_11/sub' type=Sub>> conv2d_10/kernel <bound method Operation.values of <tf.Operation 'conv2d_10/kernel' type=Const>> conv2d_10/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_10/kernel/read' type=Identity>> conv2d_10/bias <bound method Operation.values of <tf.Operation 'conv2d_10/bias' type=Const>> conv2d_10/bias/read <bound method Operation.values of <tf.Operation 'conv2d_10/bias/read' type=Identity>> conv2d_10/convolution <bound method Operation.values of <tf.Operation 'conv2d_10/convolution' type=Conv2D>> conv2d_10/BiasAdd <bound method Operation.values of <tf.Operation 'conv2d_10/BiasAdd' type=BiasAdd>> conv2d_13/kernel <bound method Operation.values of <tf.Operation 'conv2d_13/kernel' type=Const>> conv2d_13/kernel/read <bound method Operation.values of <tf.Operation 'conv2d_13/kernel/read' type=Identity>> conv2d_13/bias <bound method Operation.values of <tf.Operation 'conv2d_13/bias' type=Const>> conv2d_13/bias/read <bound method Operation.values of <tf.Operation 'conv2d_13/bias/read' type=Identity>> conv2d_13/convolution <bound method Operation.values of <tf.Operation 'conv2d_13/convolution' type=Conv2D>> conv2d_13/BiasAdd <bound method Operation.values of <tf.Operation 'conv2d_13/BiasAdd' type=BiasAdd>>
`

it seems like no output``
wonderful for your replay

mismatch between darket output and tensorflow-yolo-v3 output

I tried to compare the output of yolo-darknet and your version of yolo implemented in tensorflow in the following image. As you can see there is a clear mismatch between the two. I'n using tha same confidence and non-max suppresion thresholds. Further I'm using tensorflow 1.4 with cuda 8.0 on my laptop. Any comments about this? @mystic123 If you want to try by yourself this is the link of image that i've used: https://media.wired.com/photos/5afb61bd57c02d59cb85a80e/master/w_628,c_limit/GettyImages-469981581.jpg

Output from tensorflow-yolo-v3:
tensorflow-yolo
Output from darknet:
darknet

No such file or directory :'coco.names'

when i write python ./demo.py --input_img autos.jpg --output_img autos2.jpg --weights_file yolov3.weights , get No such file or directory :'coco.names' . Help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.