jaspereb / fasterrcnntutorial Goto Github PK
View Code? Open in Web Editor NEWA FasterRCNN Tutorial in Tensorflow
A FasterRCNN Tutorial in Tensorflow
Hey, @jaspereb can you help me with this?
I want to compile the TensorFlow Graph to Movidius Graph. I have used Model Zoo's ssd_mobilenet_v1_coco
model to train it on my own dataset.
Then I ran
python object_detection/export_inference_graph.py \
--input_type=image_tensor \
--pipeline_config_path=/home/redtwo/nsir/ssd_mobilenet_v1_coco.config \
--trained_checkpoint_prefix=/home/redtwo/nsir/train/model.ckpt-3362 \
--output_directory=/home/redtwo/nsir/output
which generates me frozen_interference_graph.pb
& saved_model/saved_model.pb
Now to convert this saved model into Movidius graph. There are commands given
Export GraphDef file
python3 ../tensorflow/tensorflow/python/tools/freeze_graph.py \
--input_graph=inception_v3.pb \
--input_binary=true \
--input_checkpoint=inception_v3.ckpt \
--output_graph=inception_v3_frozen.pb \
--output_node_name=InceptionV3/Predictions/Reshape_1
Freeze model for inference
python3 ../tensorflow/tensorflow/python/tools/freeze_graph.py \
--input_graph=inception_v3.pb \
--input_binary=true \
--input_checkpoint=inception_v3.ckpt \
--output_graph=inception_v3_frozen.pb \
--output_node_name=InceptionV3/Predictions/Reshape_1
which can finally be feed to NCS Intel Movidius SDK
mvNCCompile -s 12 inception_v3_frozen.pb -in=input -on=InceptionV3/Predictions/Reshape_1
All of this is given at Intel Movidius Website here: https://movidius.github.io/ncsdk/tf_modelzoo.html
My model was already trained i.e. output/frozen_inference_graph
. Why do I again freeze it using /slim/export_inference_graph.py
or it's the output/saved_model/saved_model.py
that will go as input to slim/export_inference_graph.py
??
All I want is output_node_name=Inceptionv3/Predictions/Reshape_1. How to get this output_name_name directory structure & anything inside it? I don't know what all it contains
what output node should I use for model zoo's ssd_mobilenet_v1_coco
model(trained on my own custom dataset)
python freeze_graph.py \
--input_graph=/path/to/graph.pbtxt \
--input_checkpoint=/path/to/model.ckpt-22480 \
--input_binary=false \
--output_graph=/path/to/frozen_graph.pb \
--output_node_names="the nodes that you want to output e.g. InceptionV3/Predictions/Reshape_1 for Inception V3 "
Things I understand & don't understand:
input_checkpoint: โ [check points that were created during training]
output_graph: โ [path to output frozen graph]
out_node_names: X
I don't understand out_node_names
parameter & what should inside this considering its ssd_mobilnet
not inception_v3
Hi Jasper,
On the faster r-cnn model, the training loss starts at 4. on the same dataset, why is it starting from 7 on ssd model?
Hi jaspereb,
I have a problem with ssd. My images are 600x600 size but with resizing in the config file 300x300. Is there no possibility to work 600x600 in this case? Do my training images have to be 300x300?
Hi Jasper,
I want to apply the mask r-cnn. Are there changes in the implementation steps? For example, while training dataset is being created, I need to train with object boundaries rather than being rectangular. Which tool can I use for this?
Hi jaspereb,
I have trained the faster-rcnn model on size of 600x600 images and the result is quite good in 600x600 size. But when I test on a larger size image of 1024x1024, the success is very low. What would be the reason?
You stated that "FasterRcnn does not like objects smaller than about 30*30 pixels". Is this a fact that can be altered somehow?
For example I would like to be able to detect object smaller than 30x30. If I provide my model with an extra smaller anchor scale that goes below 30x30 this would be enough (I mean even after the image resize application that my objects are smaller than 30x30)? Or should I change the receptive field of my model also (which is hardcoded for each model I think)
Firstly, a very useful video. I applied my work as described on the video. What I need to change for smaller objects. How many images have you trained on your dataset, how many positive objects should be selected (1000, 2000, etc)?
I want to use ssd method with vgg16 model, but it is not available in the models. Do not I have a chance to do this in Tensorflow?
Hi @jaspereb will it be possible to try this tutorial on window OS for my own custom dataset ?
Help will be much grateful..
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.