nvlabs / diode Goto Github PK
View Code? Open in Web Editor NEWOfficial PyTorch implementation of Data-free Knowledge Distillation for Object Detection, WACV 2021.
License: Other
Official PyTorch implementation of Data-free Knowledge Distillation for Object Detection, WACV 2021.
License: Other
Thank you for sharing !
I have a questions about your code. I noticed that the codes load the images in onebox dataset to mix up with the randomly-initialized tensor, as the initial tensor to generate images.
init = (args.real_mixin_alpha)*imgs + (1.0-args.real_mixin_alpha)*init
However, onebox dataset is the one that we want to generate, isn't it ?
Hi @akshaychawla, could you please give me access to the GCS data? Thanks a lot.
Shall I extract label files from the official bdd100k dataset?
I just download the pretrained model 'yolo-tiny.pt' and 'yolov3-spp-ultralytics.pt' and try to run the script. However, I met the loading error 'RuntimeError: storage has wrong size: expected 0 got 32768' can anyone help me out? Thanks alot!!
Hi, thanks for the code, I just want to make sure whether what I'm currently encountering is due to parameter settings or the architecture I'm using.
I've made some modifications to the code so this will not be representative of the original training code but when I'm generating images using a pretrained resnest-101 the generated images quickly reaches a zero-variance (less than 0.01 after 100 iterations). Is this something that often happen or is this a problem that occur due to the differing architecture?
Some potential causes:
Different architecture (Resnest-101 + DeepLabv3)
All BN layers are used in the loss (I've tried to use the cosine annealing of the number of layers to include)
Loss balances (I've tried to completely remove the task loss and only use the task loss + include an image statistics loss matching the mean and variance to a N(0,1) distribution (after normalization))
Thanks beforehand for any insights
Hi @akshaychawla. Thanks for the code.
I tried to generate images of KITTI dataset with yolov3 model but got bad results. I used my own yolov3 pretrained model / cfg file and KITTI dataset. From the 'losses.log' file I found the parameter 'unweighted/loss_r_feature' was 1083850.375. After changing the parameter 'self.bn_reg_scale' to 0.00001, the results are also bad.
I am not sure if there is a problem with my use of the code and also confused about why the parameter 'unweighted/loss_r_feature' is so big. Could you give me some guidance?
Best,
Xiu
2.losses.log of 1/2500 iteration:
ITERATION: 1
weighted/total_loss 108692.2578125
weighted/task_loss 174.9200897216797
weighted/prior_loss_var_l1 117.44781494140625
weighted/prior_loss_var_l2 0.0
weighted/loss_r_feature 108385.0390625
weighted/loss_r_feature_first 14.853784561157227
unweighted/task_loss 349.8401794433594
unweighted/prior_loss_var_l1 1.5659708976745605
unweighted/prior_loss_var_l2 6894.822265625
unweighted/loss_r_feature 1083850.375
unweighted/loss_r_feature_first 7.426892280578613
unweighted/inputs_norm 12.4415922164917
learning_Rate 0.1999999210431752
ITERATION: 2500
weighted/total_loss 58120.15625
weighted/task_loss 101.14430236816406
weighted/prior_loss_var_l1 77.38021850585938
weighted/prior_loss_var_l2 0.0
weighted/loss_r_feature 57935.38671875
weighted/loss_r_feature_first 6.245403289794922
unweighted/task_loss 202.28860473632812
unweighted/prior_loss_var_l1 1.0317362546920776
unweighted/prior_loss_var_l2 4149.73193359375
unweighted/loss_r_feature 579353.875
unweighted/loss_r_feature_first 3.122701644897461
unweighted/inputs_norm 13.469326972961426
learning_Rate 0.0
Verifier InvImage mPrec: 0.005173 mRec: 0.001166 mAP: 0.0006404 mF1: 0.001902
Teacher InvImage mPrec: 0.005173 mRec: 0.001166 mAP: 0.0006404 mF1: 0.001902
Verifier GeneratedImage mPrec: 0.005173 mRec: 0.001166 mAP: 0.0006404 mF1: 0.001902
Greetings,
This is Aman Goyal. I am currently pursuing research in MSU in the domain of knowledge distillation and I had come across your paper and github repo.
I actually wanted to train on BDD100K detection dataset. Is it possible to integrate with your codebase ?
If yes, then please guide on how to do it. I already have BDD100K dataset ready.
Regards,
Aman Goyal
Hi @akshaychawla. Can you share any resources for the SelfSimilarityHook which you have in the deepinversion code? In the original code, it was not present, and I am not able to find relevant papers for it.
Originally posted by @animesh-007 in #6 (comment)
Hello, have you try on two stage detector, faster rcnn for example ?
Great works!
But I wonder whether this method can be used for a two-stage object detector, e.g., Faster RCNN or not?
As the comments in LINE_looped_runner_yolo.sh show, the authors use 28 gpus to generate a dataset in 48 hours.
Can you provide the detailed running time of
a) generate 160x160 images,
b) upsample images from 160x160 to 320x320,
c) fine-tune 320x320 images,
d) knowledge distillation.
Thank you. @akshaychawla
Hi.
I want to access the DIODE dataset.
Please give the access to it,
My gmail is _
Thank you,
Due to the size of the google cloud storage bucket, it became prohibitively expensive to continue hosting the data on GCS.
If you need access to the cloud storage bucket mentioned in the readme: https://console.cloud.google.com/storage/browser/diode-yolo-wacv , please open a new issue with the tag [GCS] and I will temporarily give you access to the data.
Thank you for the interest in our work.
@akshaychawla Hi,
I recently try to reproduce your work, and face one error and didnt figure it out yet. I just downloaded the tiled pseudo data as the training data, and after run the distill.py one epoch, the follows error occurs that is 'Trying to create tensor with negative dimension -1682796288: [-1682796288]' can anyone tell me what todo and figure it out?? thanks!
Hi @akshaychawla, can you give me access to the GCS data? Thanks so much.
Hi @akshaychawla , thank you for the code, can you grant me access to the GCS data?
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.