Beginner doubts - visual classification

Hi all.
Currently prototyping a visual recognition solution using remote services such as Watson and Vize, the advantage being almost no coding skill required and a fast custom model training due to pre-trained models. Chosen Watson and Vize since they are the only one offering custom models in my EU country.

Interested to explore options to enable
1)offline mobile categorization on Android (primarily) and iOS (secondary)
2)better skill marketability in term of what is possible to do, and not as developer
3)explore the possibilities for a more flexible answer than just categories (tbd)
4)possibly lowering the development tools costs if the training set will grow as I expect

The options I can find are
fast.ai–>PyTorch -->ONNX–>Coffe2 (Android/iOS)
Keras–>TensorFlow–>TensorFlow Lite (Android/iOS)
Watson–>CoreML (only iOS)

I have a basic Python knowledge, a long time ago MSc level education in Physics and statistics and C development.
Will focus on the transfer training of pre-trained models to start, possibly just testing superbasic mobile prototypes (no GUI just text answers etc, what’s possible to find as example just using my custom model).

Will be fast.ai a good place to start considering these goals, or I’m going to a too steep path considering my limited skills.

Your skills are just fine for fastai, and much can be done with pretrained models and transfer learning. A simple resnet34 model is just
learn = create_cnn(data, models.resnet34, metrics=error_rate)
so it shouldn’t take long to replicate what you can do with Watson or Vise.

I’d recommend starting with the 1.0 version. The available videos use earlier versions, but you can watch them and then research https://docs.fast.ai to see how to implement that material.

You will find some advanced discussions on the forum. Take a glance at them to see what is down the road, but don’t worry if it is beyond your understanding. You can go a long way using the defaults.

1 Like

Thanks for your answer.
To streamline as possible the process I was thinking about the dev/test environment.

Got an old PC with Windows 10, i7 CPU, 14GB RAM and no CUDA discrete GPU.

Will be OK for testing transfer learning with some hundred and next thousand images, or might I better to use also remote services such as Crestle / Vectordash / Paperspace.

Fastai will work on Windows, and you can run things without a gpu, but you probably want to go with a remote solution so you can focus on learning DL and not on troubleshooting your config. After you get a little comfortable with everything, you might want to set up the PC for tinkering with toy size models, and only spinning up the remote for full size training.

Others can chime in on which remote offering is recommended as I am not up to date on those.

1 Like

Thanks again.
Just a last suggestion, I suppose can use the local desktop for just experimenting in parallel, avoiding spending time and money paying for remote resources for the more stupid things.

I have very very little experience with bash shell commands, anyway did you suggest for easyess to install a Linux distro on my PC, or the benefits in term of working on the standard dev environment are outshined from the complexity of learning a new OS.

And in case any Linux distro is the same, or i.e. Ubuntu is the safe bet. I was reading about the easy to install and elegant Deepin distro, but also dubious if will add other problems as well.

Also to finish purchasing a GTX 1070 to be used with fast.ai will be good vs Crestle K80 or I will be limited from my other hw.

If you can add a 1060 or 1070, and install linux, balance tips towards the local. Ubuntu is the most common distro for data science and you will frequently get cut’n’paste commands when you search google. Deepin looks interesting but Ubuntu will make your life easier in the transition phase.

I’d recommend buying a new SSD, unplugging the windows drive, plugging in the SSD and installing linux on that rather than trying to configure a dual boot. You can always plug the windows drive back in when you want to window.

1 Like

I have a spare Ssd from my old laptop, I can have a dual SSD boot, or will be a bad idea considering my old BIOS (PC is an old HP 8100 Elite CMT) .

About Ubuntu any desktop environment will work the same or will be best to stick with Gnome. I was looking at Budgie, similar to Deepin DE.

Returning on the topic. I have finished configuring the new PC with Linux in a new SSD, a GTX 1070 with latest Cuda acceleration, also installing fastai that’s working on basic examples.
Returning to the point I want to test some transfer learning on my data, without starting with fastai 0.7.
Any suggestion where to start with an easy example I can later change using my data?

Hi, I have a question about those lines and I prefer re-using that old thread more than creating a new one…
I am currently using windows/osx, and I’d like to (finally!) give a try to linux.
I was looking to Ubuntu and found Mint which is based on Ubuntu.
Would Mint be able to run any Ubuntu command I see on the web, or should I really stick to Ubuntu?