# Error: Transfer learning toolkit for classification failed to setting image size

**URL:** <https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200>\
**Category:** TAO Toolkit\
**Created:** [June 10, 2020, 1:59pm UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200 "2020-06-10T13:59:28Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![suixiaodan521](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@suixiaodan521](https://forums.developer.nvidia.com/u/suixiaodan521)\
**Post date:** [June 10, 2020, 1:59pm UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/1 "2020-06-10T13:59:28Z")

</div>

I have modified the classification\_spec.cfg for changing the image size.

> model\_config {  
> #Model architecture can be chosen from:  
> #[‘resnet’, ‘vgg’, ‘googlenet’, ‘alexnet’, ‘mobilenet\_v1’, ‘mobilenet\_v2’, ‘squeezenet’, \> ‘darknet’, ‘googlenet’]  
> arch: “resnet”  
> #for resnet → n\_layers can be [10, 18, 34, 50, 101]  
> #for vgg → n\_layers can be [16, 19]  
> #for darknet → n\_layers can be [19, 53]
> 
> n\_layers: 10  
> use\_bias: True  
> use\_batch\_norm: True  
> all\_projections: True  
> use\_pooling: False  
> freeze\_bn: False  
> freeze\_blocks: 0  
> freeze\_blocks: 1
> 
> #image size should be “3, X, Y”, where X,Y \>= 16  
> input\_image\_size: “3, 512, 512”  
> }
> 
> eval\_config {  
> eval\_dataset\_path: “/TransforLearningToolkit/mashuai/lungtumors/split/test”  
> model\_path: “/TransforLearningToolkit/mashuai/classification\_experiment/output50/weights/resnet\_080.tlt”  
> top\_k: 3  
> #conf\_threshold: 0.5  
> batch\_size: 64  
> n\_workers: 8
> 
> }
> 
> train\_config {  
> train\_dataset\_path: “/TransforLearningToolkit/mashuai/lungtumors/split/train”  
> val\_dataset\_path: “/TransforLearningToolkit/mashuai/lungtumors/split/val”  
> pretrained\_model\_path: “/TransforLearningToolkit/mashuai/classification\_experiment/pretrained\_resnet10/tlt\_pretrained\_classification\_vresnet10/resnet\_10.hdf5”  
> #optimizer can be chosen from [‘adam’, ‘sgd’]
> 
> optimizer: “sgd”  
> batch\_size\_per\_gpu: 32  
> n\_epochs: 80  
> n\_workers: 8
> 
> #regularizer  
> reg\_config {  
> type: “L2”  
> scope: “Conv2D,Dense”  
> weight\_decay: 0.00005
> 
> }
> 
> #learning\_rate
> 
> lr\_config {
> 
> ```
> #"step" and "soft_anneal" are supported.
> 
> scheduler: "soft_anneal"
> 
> # "soft_anneal" stands for soft annealing learning rate scheduler.
> # the following 4 parameters should be specified if "soft_anneal" is used.
> learning_rate: 0.005
> soft_start: 0.056
> annealing_points: "0.3, 0.6, 0.8"
> annealing_divider: 10
> # "step" stands for step learning rate scheduler.
> # the following 3 parameters should be specified if "step" is used.
> # learning_rate: 0.006
> # step_size: 10
> # gamma: 0.1
> 
> # "cosine" stands for soft start cosine learning rate scheduler.
> # the following 2 parameters should be specified if "cosine" is used.
> # learning_rate: 0.05
> # soft_start: 0.01
> 
> ```
> 
> }  
> }

When I run

> !tlt-train classification -e $SPECS\_DIR/classification\_spec.cfg -r $USER\_EXPERIMENT\_DIR/output -k $KEY

I get wrong as below:

> Using TensorFlow backend.  
> 2020-06-10 13:47:12,971 [INFO] iva.makenet.scripts.train: Loading experiment spec at /TransforLearningToolkit/mashuai/specs/classification\_spec.cfg.  
> Found 4211 images belonging to 7 classes.  
> 2020-06-10 13:47:13,341 [INFO] iva.makenet.scripts.train: Processing dataset (train): /TransforLearningToolkit/mashuai/lungtumors/split/train  
> Found 603 images belonging to 7 classes.  
> 2020-06-10 13:47:13,462 [INFO] iva.makenet.scripts.train: Processing dataset (validation): /TransforLearningToolkit/mashuai/lungtumors/split/val
> 
> * * *
> 
> # Layer (type) Output Shape Param # Connected to
> 
> input\_1 (InputLayer) (None, 3, 224, 224) 0
> 
> * * *
> 
> conv1 (Conv2D) (None, 64, 112, 112) 9408 input\_1[0][0]
> 
> * * *
> 
> bn\_conv1 (BatchNormalization) (None, 64, 112, 112) 256 conv1[0][0]
> 
> * * *
> 
> activation\_1 (Activation) (None, 64, 112, 112) 0 bn\_conv1[0][0]
> 
> * * *
> 
> block\_1a\_conv\_1 (Conv2D) (None, 64, 56, 56) 36864 activation\_1[0][0]
> 
> * * *
> 
> block\_1a\_bn\_1 (BatchNormalizati (None, 64, 56, 56) 256 block\_1a\_conv\_1[0][0]
> 
> * * *
> 
> block\_1a\_relu\_1 (Activation) (None, 64, 56, 56) 0 block\_1a\_bn\_1[0][0]
> 
> * * *
> 
> block\_1a\_conv\_2 (Conv2D) (None, 64, 56, 56) 36864 block\_1a\_relu\_1[0][0]
> 
> * * *
> 
> block\_1a\_conv\_shortcut (Conv2D) (None, 64, 56, 56) 4096 activation\_1[0][0]
> 
> * * *
> 
> block\_1a\_bn\_2 (BatchNormalizati (None, 64, 56, 56) 256 block\_1a\_conv\_2[0][0]
> 
> * * *
> 
> block\_1a\_bn\_shortcut (BatchNorm (None, 64, 56, 56) 256 block\_1a\_conv\_shortcut[0][0]
> 
> * * *
> 
> add\_1 (Add) (None, 64, 56, 56) 0 block\_1a\_bn\_2[0][0]  
> block\_1a\_bn\_shortcut[0][0]
> 
> * * *
> 
> block\_1a\_relu (Activation) (None, 64, 56, 56) 0 add\_1[0][0]
> 
> * * *
> 
> block\_2a\_conv\_1 (Conv2D) (None, 128, 28, 28) 73728 block\_1a\_relu[0][0]
> 
> * * *
> 
> block\_2a\_bn\_1 (BatchNormalizati (None, 128, 28, 28) 512 block\_2a\_conv\_1[0][0]
> 
> * * *
> 
> block\_2a\_relu\_1 (Activation) (None, 128, 28, 28) 0 block\_2a\_bn\_1[0][0]
> 
> * * *
> 
> block\_2a\_conv\_2 (Conv2D) (None, 128, 28, 28) 147456 block\_2a\_relu\_1[0][0]
> 
> * * *
> 
> block\_2a\_conv\_shortcut (Conv2D) (None, 128, 28, 28) 8192 block\_1a\_relu[0][0]
> 
> * * *
> 
> block\_2a\_bn\_2 (BatchNormalizati (None, 128, 28, 28) 512 block\_2a\_conv\_2[0][0]
> 
> * * *
> 
> block\_2a\_bn\_shortcut (BatchNorm (None, 128, 28, 28) 512 block\_2a\_conv\_shortcut[0][0]
> 
> * * *
> 
> add\_2 (Add) (None, 128, 28, 28) 0 block\_2a\_bn\_2[0][0]  
> block\_2a\_bn\_shortcut[0][0]
> 
> * * *
> 
> block\_2a\_relu (Activation) (None, 128, 28, 28) 0 add\_2[0][0]
> 
> * * *
> 
> block\_3a\_conv\_1 (Conv2D) (None, 256, 14, 14) 294912 block\_2a\_relu[0][0]
> 
> * * *
> 
> block\_3a\_bn\_1 (BatchNormalizati (None, 256, 14, 14) 1024 block\_3a\_conv\_1[0][0]
> 
> * * *
> 
> block\_3a\_relu\_1 (Activation) (None, 256, 14, 14) 0 block\_3a\_bn\_1[0][0]
> 
> * * *
> 
> block\_3a\_conv\_2 (Conv2D) (None, 256, 14, 14) 589824 block\_3a\_relu\_1[0][0]
> 
> * * *
> 
> block\_3a\_conv\_shortcut (Conv2D) (None, 256, 14, 14) 32768 block\_2a\_relu[0][0]
> 
> * * *
> 
> block\_3a\_bn\_2 (BatchNormalizati (None, 256, 14, 14) 1024 block\_3a\_conv\_2[0][0]
> 
> * * *
> 
> block\_3a\_bn\_shortcut (BatchNorm (None, 256, 14, 14) 1024 block\_3a\_conv\_shortcut[0][0]
> 
> * * *
> 
> add\_3 (Add) (None, 256, 14, 14) 0 block\_3a\_bn\_2[0][0]  
> block\_3a\_bn\_shortcut[0][0]
> 
> * * *
> 
> block\_3a\_relu (Activation) (None, 256, 14, 14) 0 add\_3[0][0]
> 
> * * *
> 
> block\_4a\_conv\_1 (Conv2D) (None, 512, 14, 14) 1179648 block\_3a\_relu[0][0]
> 
> * * *
> 
> block\_4a\_bn\_1 (BatchNormalizati (None, 512, 14, 14) 2048 block\_4a\_conv\_1[0][0]
> 
> * * *
> 
> block\_4a\_relu\_1 (Activation) (None, 512, 14, 14) 0 block\_4a\_bn\_1[0][0]
> 
> * * *
> 
> block\_4a\_conv\_2 (Conv2D) (None, 512, 14, 14) 2359296 block\_4a\_relu\_1[0][0]
> 
> * * *
> 
> block\_4a\_conv\_shortcut (Conv2D) (None, 512, 14, 14) 131072 block\_3a\_relu[0][0]
> 
> * * *
> 
> block\_4a\_bn\_2 (BatchNormalizati (None, 512, 14, 14) 2048 block\_4a\_conv\_2[0][0]
> 
> * * *
> 
> block\_4a\_bn\_shortcut (BatchNorm (None, 512, 14, 14) 2048 block\_4a\_conv\_shortcut[0][0]
> 
> * * *
> 
> add\_4 (Add) (None, 512, 14, 14) 0 block\_4a\_bn\_2[0][0]  
> block\_4a\_bn\_shortcut[0][0]
> 
> * * *
> 
> block\_4a\_relu (Activation) (None, 512, 14, 14) 0 add\_4[0][0]
> 
> * * *
> 
> avg\_pool (AveragePooling2D) (None, 512, 1, 1) 0 block\_4a\_relu[0][0]
> 
> * * *
> 
> flatten (Flatten) (None, 512) 0 avg\_pool[0][0]
> 
> # predictions (Dense) (None, 176) 90288 flatten[0][0]
> 
> Total params: 5,006,192  
> Trainable params: 5,000,304  
> Non-trainable params: 5,888
> 
> * * *
> 
> Epoch 1/80  
> Traceback (most recent call last):  
> File “/usr/local/bin/tlt-train-g1”, line 8, in   
> sys.exit(main())  
> File “./common/magnet\_train.py”, line 30, in main  
> File “./makenet/scripts/train.py”, line 437, in main  
> File “./makenet/scripts/train.py”, line 411, in run\_experiment  
> File “/usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py”, line 91, in wrapper  
> return func(\*args, \*\*kwargs)  
> File “/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”, line 1418, in fit\_generator  
> initial\_epoch=initial\_epoch)  
> File “/usr/local/lib/python2.7/dist-packages/keras/engine/training\_generator.py”, line 217, in fit\_generator  
> class\_weight=class\_weight)  
> File “/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”, line 1211, in train\_on\_batch  
> class\_weight=class\_weight)  
> File “/usr/local/lib/python2.7/dist-packages/keras/engine/training.py”, line 751, in \_standardize\_user\_data  
> exception\_prefix=‘input’)  
> File “/usr/local/lib/python2.7/dist-packages/keras/engine/training\_utils.py”, line 138, in standardize\_input\_data  
> str(data\_shape))  
> ValueError: Error when checking input: expected input\_1 to have shape (3, 224, 224) but got array with shape (3, 512, 512)

I failed to change the image size.

---

<div class="post-metadata">

**Author:** ![Morganh](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/morganh/32/9748_2.png) [@Morganh](https://forums.developer.nvidia.com/u/Morganh)\
**Post date:** [June 10, 2020, 2:49pm UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/2 "2020-06-10T14:49:15Z")

</div>

Which TLT docker did you use?

---

<div class="post-metadata">

**Author:** ![suixiaodan521](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@suixiaodan521](https://forums.developer.nvidia.com/u/suixiaodan521)\
**Post date:** [June 11, 2020, 12:49am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/3 "2020-06-11T00:49:47Z")

</div>

Repository:nvcr.io/nvidia/tlt-streamanalytics  
Tag: v2.0\_dp\_py2

docker pull [nvcr.io/nvidia/tlt-streamanalytics:v2.0\_dp\_py2](http://nvcr.io/nvidia/tlt-streamanalytics:v2.0_dp_py2)

---

<div class="post-metadata">

**Author:** ![Morganh](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/morganh/32/9748_2.png) [@Morganh](https://forums.developer.nvidia.com/u/Morganh)\
**Post date:** [June 11, 2020, 2:01am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/4 "2020-06-11T02:01:37Z")

</div>

Hi,  
I did not reproduce with default classification Jupyter notebook inside 2.0\_dp docker.  
After I changes

> input\_image\_size: “3,224,224”

to

> input\_image\_size: “3,512,512”

It can run training. Could you double check or try the classficaton notebook too?

---

<div class="post-metadata">

**Author:** ![suixiaodan521](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@suixiaodan521](https://forums.developer.nvidia.com/u/suixiaodan521)\
**Post date:** [June 11, 2020, 2:31am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/5 "2020-06-11T02:31:29Z")

</div>

> [@suixiaodan521](#):
>
> model\_config

When I comment “use\_bias: True” in “model\_config”. It works well.  
Thank you.

---

<div class="post-metadata">

**Author:** ![pushkar.chatterji](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pushkar.chatterji](https://forums.developer.nvidia.com/u/pushkar.chatterji)\
**Post date:** [July 9, 2020, 1:37pm UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/6 "2020-07-09T13:37:10Z")

</div>

Hi,

I got the same error when I set the line in the config file as:

> input\_image\_size: “3,91,256”

I already have ‘use\_bias: True’

It only seems to work when is use:

> input\_image\_size: “3,224,224”

The docker image is:

> docker pull [nvcr.io/nvidia/tlt-streamanalytics:v2.0\_dp\_py2](http://nvcr.io/nvidia/tlt-streamanalytics:v2.0_dp_py2)

---

<div class="post-metadata">

**Author:** ![Morganh](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/morganh/32/9748_2.png) [@Morganh](https://forums.developer.nvidia.com/u/Morganh)\
**Post date:** [July 10, 2020, 3:11am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/7 "2020-07-10T03:11:41Z")

</div>

Please remove “use\_bias: True”and retry.

---

<div class="post-metadata">

**Author:** ![pushkar.chatterji](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@pushkar.chatterji](https://forums.developer.nvidia.com/u/pushkar.chatterji)\
**Post date:** [July 10, 2020, 8:39am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/8 "2020-07-10T08:39:56Z")

</div>

Thanks, that worked. But I am not sure why. A bug or a feature? :)

---

<div class="post-metadata">

**Author:** ![Morganh](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/morganh/32/9748_2.png) [@Morganh](https://forums.developer.nvidia.com/u/Morganh)\
**Post date:** [July 10, 2020, 9:05am UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/9 "2020-07-10T09:05:57Z")

</div>

I will check it.

---

<div class="post-metadata">

**Author:** ![TomNVIDIA](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/tomnvidia/32/14181_2.png) [@TomNVIDIA](https://forums.developer.nvidia.com/u/TomNVIDIA)\
**Post date:** [October 12, 2021, 4:24pm UTC](https://forums.developer.nvidia.com/t/error-transfer-learning-toolkit-for-classification-failed-to-setting-image-size/127200/10 "2021-10-12T16:24:30Z")

</div>


