<p>Usually you will have some constraints that will help you narrow down on your options. For example, if you need to develop for mobile device your best bets are <a href="https://arxiv.org/abs/1704.04861" rel="nofollow noreferrer">MobileNets</a> or <a href="https://arxiv.org/abs/1707.01083" rel="nofollow noreferrer">ShuffleNet</a> architectures. You can check each candidate model's performance on the <a href="http://www.image-net.org/challenges/LSVRC/" rel="nofollow noreferrer">ILSVRC</a> validation set and have an idea of their relative performance. From there you can select the model that performed best within your constraints (training resource available, time/memory limitation during inference). If you use transfer learning, you will need to decide how many layers to freeze. Although that will depend on your training data (more data means you can fine-tune more layers without risk of overfitting) there is still some trials and erros involved. Then based on the amount of time and resources you have you can investigate other models.</p>
How to choose a CNN model for a particular use case?
<p>So I am in the requirement gathering phase of implementing CNN project for a use case. I am eager to know how picking up a suitable model for the particular use case is done in the AI/ML industry. I saw there are a lot of CNN architectures but how to choose which architecture would suit my requirement? </p>

<p>Is it done only in a trial by error basis or are there any specific method for picking the right architecture? If it is a trial by error process, isnt it cumbersome? If we need to use only trial by error method, how long is it going to help us?</p>