1
$\begingroup$

As a practice data analysis I am trying to train a convolutional neural network (CNN) on some cellular images made publicly available on Kaggle in 2019 by the company Recursion via supervised deep learning.

I want to increase the predictive power using transfer learning at the lower layers of my CNN preferably from a public imaging model.

Are there any appropriate models available?

$\endgroup$
3
  • 1
    $\begingroup$ Good question, the HUGE advantage of CNN is transfer learning. Google do a huge photo database for transfer-learning and if that dataset had cell images then you've made it. If not - you could start the trend and train up a database. $\endgroup$
    – M__
    May 2 at 15:51
  • 1
    $\begingroup$ Hmm very cool thanks for the suggestion $\endgroup$ May 5 at 20:29
  • $\begingroup$ Would you consider andwering so I can lay this questuion to rest? $\endgroup$ May 5 at 20:29

1 Answer 1

1
$\begingroup$
learn = cnn_learner(data, 
                    models.resnet50, 
                    metrics=error_rate)

resnet50 is one of many pre-trained 2D CNN computer vision models which use transfer learning. If you've classifying a common image such as a given mammal you're sorted because they'll be loads of pictures of that mammal all over resnet50. However, 'a cell' I dunno.

When the computer vision challenges were in full swing between the tech giants each put their trained models onto publication release and are easily accessible e.g. via keras, fastai etc... I'd have to look them all up and each has different architecture, they are serious architecture like 50 layer NN. The competition was eventually stopped because computer vision had a lower error rate than human vision, at which point its pointless judging between DL algorithms because we can't say what it is how can we judge an algorithm?

Transfer learning places CNN at significant advantage over RNN.

The other possibility is google images

pip install google_images_download

I don't think its on conda. Then see if you get lucky with the following

from google_images_download import google_images_download
response = google_images_download.googleimagesdownload()
arguments = {"keywords":"cells,organelles, membranes","limit":60,"print_urls":False}
paths = response.download(arguments)
print(paths)

Please note I don't do 2D CNN,i.e. images.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.