holli / yolov3_pytorch

Yolov3 (+tiny) pythonic pytorch implementation.
MIT License
33 stars 11 forks source link

Training examples no longer work with latest fastai version #1

Open chaosparrot opened 5 years ago

chaosparrot commented 5 years ago

Hi, I'm trying to make these notebooks work. I've managed to get the inference case working, but because of the large backwards compatibility changes in the fastai library, I can't really get that to work.

holli commented 5 years ago

Fastai went through rewrite and released a new major version right after this project. If I recall correctly fastai was used mostly for preparing the images and points. They had/have quite a good library for image augmentation and fast processing. I used part of this code also in https://github.com/holli/hands_ai and it might have a different example of preprocessing to get the custom dataset.

I guess it could be easy to get rid of the fastai-lib by using more simpler augmentations etc. If you manage to do it I'm happy merge a pull request.

dumyCq commented 4 years ago

I am wondering whether the dataloader from pytorch can make it.

dumyCq commented 4 years ago

@chaosparrot Do you have any other solutions to implement yolov3-tiny on Pytorch by training on local dataset. Could you please share anything you think about it. All I want is to train a yolov3-tiny and load from C++. I have done all except training a yolov3-tiny on my own local coco dataset. Thanks!

chaosparrot commented 4 years ago

@dumyCq Its been a while since I tinkered around with it, but I do remember changing stuff in the fastai_utils.py file to atleast get it past the compilation stage.

I don't remember if I had it properly training though.. I do remember running into errors because I didn't have a proper GFX card at the time.

I had the first 18 lines of that file changed to:

import fastai from fastai.imports import from fastai.vision.models import from fastai.vision import from fastai.datasets import import collections from torch.utils.data import Dataset

def learn_sched_plot(learn): type(learn.sched) fig, axs = plt.subplots(1,2,figsize=(12,4)) plt.sca(axs[0]) learn.sched.plot_loss(0, 1) plt.sca(axs[1]) learn.sched.plot_lr()

class MultiArraysDataset(Dataset):