hx173149 / C3D-tensorflow

C3D is a modified version of BVLC tensorflow to support 3D ConvNets.
MIT License
588 stars 265 forks source link

Issue about accuracy #93

Open ElectroMaster-level5 opened 5 years ago

ElectroMaster-level5 commented 5 years ago

When I set use_pretrained_model = False, all values of accuracy I obtained is 0.0000, and validation data accuracy is also 0. Then I set use pretrained model and download sports 1M pretrained model from the dropbox, but all train accuracy the Validation Data Eval begin descend fast. What's wrong, I try to used older version of this repository, but there is still the problem. I noticed someone has encountered the same problem with me from the history of Issues. I hope you can help me.

ElectroMaster-level5 commented 5 years ago

Nothing update, my misoperation, Really sorry about that. Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10


From: Panagiotis Braimakis notifications@github.com Sent: Wednesday, January 16, 2019 12:39:29 PM To: hx173149/C3D-tensorflow Cc: ElectroMaster-level5; Author Subject: Re: [hx173149/C3D-tensorflow] Issue about accuracy (#93)

Any update on this ?

― You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hx173149/C3D-tensorflow/issues/93#issuecomment-454748904, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AWHnBwXV-KlVqDI9546SShd8AAL_sEljks5vDw9xgaJpZM4YE1KN.

PBRAOS commented 5 years ago

I think the problem with precision occurs to everyone with this specific release. It steams from the way the train and test datasets are created. If one looks carefully the two files he will realise that often one category is missing from the other file. Ie. Category swimming exists in test but not in train. Therefore obviously the model never learns how to detect swimming.... Can you confirm that this happens to your datasets too ? Does this make sense to you ? -- referring to the case where we train the model from scratch hence use_pretrained_model = False

xieqingxing commented 5 years ago

have you solved this problem?i have same problem,maybe the different of gpu?

PBRAOS commented 5 years ago
  1. Check that your dataset is correctly prepared before you train. (Means that you re training apples and testing apples, not oranges for instance). Thats the most important step actually. I figured out that the function that prepares the dataset was not working properly for me.
  2. Then i referenced the correct models and switched to python 2.7 ( python3 needs to change some ranges to lists...) 2b. Check precision from tensor board not from the output of the code...this is not a smoothed precision, it refers to a random batch and its not representative.
  3. Make sure you train for at least 20K steps. You should arrive to 70-73% on the test set precision)
  4. If you do the SVM step as in the reference paper you should easily reach 80-83%.
  5. Finally i tested it and it works quite well for live video feeds using OpenCV. There are some categories that are particularly creating false positives that maybe you want to "hide".
  6. You may want to put a probability filter so that it does not shoot irrelevant things with small probabilities.
  7. There are smart ways to sample 16frames on random videos to detect actions but its more an art than a science...
  8. There are better models out there T3D for instance is much better.

good luck! pb

JoseponLee commented 5 years ago
  1. Check that your dataset is correctly prepared before you train. (Means that you re training apples and testing apples, not oranges for instance). Thats the most important step actually. I figured out that the function that prepares the dataset was not working properly for me.
  2. Then i referenced the correct models and switched to python 2.7 ( python3 needs to change some ranges to lists...) 2b. Check precision from tensor board not from the output of the code...this is not a smoothed precision, it refers to a random batch and its not representative.
  3. Make sure you train for at least 20K steps. You should arrive to 70-73% on the test set precision)
  4. If you do the SVM step as in the reference paper you should easily reach 80-83%.
  5. Finally i tested it and it works quite well for live video feeds using OpenCV. There are some categories that are particularly creating false positives that maybe you want to "hide".
  6. You may want to put a probability filter so that it does not shoot irrelevant things with small probabilities.
  7. There are smart ways to sample 16frames on random videos to detect actions but its more an art than a science...
  8. There are better models out there T3D for instance is much better.

good luck! pb I meet the same problem, and I checked my test.list and train.list, its ok,so,what should i do?my be i should not use python3?