How To Pick Custom Size Of Uploaded Image In Theme Via the_post_thumbnail();?

You can use add_image_size() function to create custom sized images. You only need to paste some piece of codes in your functions.php and then update the template files accordingly.

For example :

add_image_size( 'category-thumb', 300 ); // 300 pixels wide (and unlimited height)
add_image_size( 'homepage-thumb', 220, 180, true ); // (cropped)

And you can use below codes to load those images in your template.

the_post_thumbnail( 'category-thumb' ); 
the_post_thumbnail( 'homepage-thumb' ); 

Hope this helps. See this page for more info.