Comments (4)
I am trying to use ssd_7 to detect power pylons - which have pretty large aspect ratios (height/width). Small datasets (~200 images) would not converge for me too. I wonder it is because of the unusual aspect ratios or because fo the lack of enough training images...
My aspect ratios are:
aspect_ratios = [2.5, 3.5, 4.5, 5.5]
from ssd_keras.
hello, pierluigiferrari
I have tried about 2000 images for ssd7, however it still can work but with bad prediction.
I still can not figure why we need so lots data for predicting our training data, so I assume maybe it is caused by the difficult environment and variant objects.
Therefore, I build a environment myself in unity like this.
I want to set all same types of cars and people, the only different things would be color and scale
What I try to do is recognize road, people and car like below
I want to try an easy dataset first to learn how the network works, but I do not understand the number of data is good to work, all I know is the more the better ==".
so how many data do you think for ssd7 to get work in this environment?
Thank you!!^^
from ssd_keras.
I've just tried to overfit a small fraction of the Udacity dataset (120 images), and it overfits quite nicely:
I cannot reproduce the issue you're having. That being said, I did make a change to the loss function in a recent update just now. Maybe pull the latest commit and try again with the updated version.
You can also use the new random_sample
option of BatchGenerator
's parse_csv()
. It allows you to randomly sample a fraction of a dataset. In my overfitting experiment I used 0.005 of the original Udacity dataset.
@mikeszabi the small number of training images is not the cause if it doesn't converge. Fewer images make the weights converge faster (and overfit of course). Be careful with the aspect ratios though: Using large aspect ratios without adjusting the scaling factors at the same time could lead to anchor boxes that are larger in one spatial dimension than the receptive field of their predictor layer. If you wanted to do this in a systematic way you would really have to compute what your aspect ratios actually mean in terms of the sizes of the resulting anchor boxes in pixels and compare that to the receptive fields of the respective predictor layers. I know it sounds tedious to do that, but training an SSD is non-trivial in this respect. I recommend reading and understanding the first part of the code of SSDBoxEncoder
's generate_anchor_boxes()
method. The widths and heights of the anchor boxes are computed as follows:
w = scale * size * sqrt(aspect_ratio)
h = scale * size / sqrt(aspect_ratio)
You might have to decrease the scaling factors in order to get anchor box sizes that make sense for the respective predictor layers. I believe it is likely that decreasing the scaling factors would help.
from ssd_keras.
Oh, it's my fault!
and random sampling is really important when we only has small dataset!!(my little experiment)
really thanks for your help, pierluigiferrari!!!
from ssd_keras.
Related Issues (20)
- InvalidArgumentError when compiling model with ssd_loss HOT 1
- WARNING:tensorflow:Gradients do not exist for variables ['conv4_3/bias:0',...] when minimizing the loss. HOT 1
- "Invalid argument: Index out of range using input dim 0; input has only 0 dims" during ssd300 model training
- load weight
- ValueError: Error when checking input: expected input_3 to have 4 dimensions, but got array with shape
- While training I got training terminate error . Epoch 00001: LearningRateScheduler setting learning rate to 0.001. 1/10 [==>...........................] - ETA: 4:08 - loss: nanBatch 0: Invalid loss, terminating training Epoch 00001: saving model to ssd512_URPC2018_epoch-01.h5 Process finished with exit code 0
- ValueError: An operation has `None` for gradient. Please make sure that all of your ops have a gradient defined (i.e. are differentiable). Common ops without gradient: K.argmax, K.round, K.eval.
- ValueError: Layer model expects 1 input(s), but it received 2 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, None, None, None) dtype=uint8>, <tf.Tensor 'IteratorGetNext:1' shape=(None, None, None) dtype=float32>] HOT 23
- Parameters of the model HOT 1
- Bouding boxes predictions are concentrated in left top corner HOT 1
- Ambiguous dimension while trying to load weights.
- Urgent!! Invalid Loss HOT 4
- What are the requirements to run this code?. HOT 1
- Pascal VOC Training Person Detection
- The device being used is CPU while capturing image from webcam. How do I use my GPU for processing instead?
- Label error during Coco Training HOT 1
- TypeError: Expected any non-tensor type, got a tensor instead.
- Changes make the code work in 2023 HOT 2
- custom SSD300 model
- error while training with custom dataset in COCO format
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ssd_keras.