SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 67296: An exception might occur when you score a Convolutional Autoencoder model where results might not return back to the client application

DetailsHotfixAboutRate It

When you run a dlScore action to score a Convolutional Neural Networks (CNN) model for an autoencoder segmentation task (where input and output variables are identical), ​​​​​​an exception might occur on the CAS server. This issue occurs when the model is trained with data specifications (via the dataSpecs= option).

For example, you might encounter this issue when you run code similar to the following:

proc cas;
      /*****************************/
      /* Build a model shell.      */
      /*****************************/
   BuildModel / modeltable={name='denoise_autoencoder', replace=1} type = 'CNN';

      /***********************************/
      /* Add an input layer.             */
      /***********************************/
   AddLayer / model='denoise_autoencoder' name='input1' layer={type='input' nchannels=3 width=416  height=416 };

      /************************/
      /* Add hidden layers.   */
      /************************/
   AddLayer / model='denoise_autoencoder' name='ConVLayer1' layer={type='CONVO' nFilters=4  width=5 height=5
              stride=2 act='ELU' init='MSRA2' } srcLayers={'input1'};

   ...more layers here... 

   AddLayer / model='denoise_autoencoder' name='Convo7' layer={type='CONVO' nFilters=3
              width=1 height=1 stride=1 act='Identity' includeBias=FALSE init='MSRA2'} srcLayers={'BNConvo6'};

      /********************************************/
      /* Add an Output layer (segmentation).      */
      /********************************************/
   AddLayer / model='denoise_autoencoder' name='outlayer' layer={type='segmentation'} srcLayers={'Convo7'};

quit;

proc cas;
   dlTrain / table={name='Cleaned_and_shuffled'} model='denoise_autoencoder' 
             modelWeights={name='ConVTrainedWeights_d', replace=1}
             bestweights={name='Trainedautoencoder_w', replace=1}  

   dataSpecs={
              {layer='outlayer', dataLayer='input1', type='IMAGE'},             
              {data={'_image_'}, layer='input1',type='IMAGE'} 
             }
   optimizer={minibatchsize=5, loglevel=2,
              algorithm={method='Adam', lrpolicy='Step', gamma=.7, stepsize=4, learningrate=.007}, 
              maxepochs=1}
              seed=12345;
quit;

proc cas;
   dlScore / table={name='Cleaned_and_shuffled'} 
             model='denoise_autoencoder' 
             initWeights='Trainedautoencoder_w'
             layerOut={name='OutputImages',caslib='imagelib'}
             layers={'input1'}
             layerImageType='BASE64'
             casout={name='ScoredData', replace=1};
quit;

After the dlScore action runs, the results might never resurface to the client application. For example, if you click the Code tab to access the SAS® Studio code editor, a pop-up dialog box might be displayed after a while (for example, about 30 seconds), indicating that the connection to the server is lost.

SAS Studio

Error: Unable to connect to server. 502:Proxy Error

Click the Hot Fix tab in this note for a link to instructions about accessing and applying the software update.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Visual Data Mining and Machine LearningLinux for x648.52020.1.3ViyaViya
Microsoft® Windows® for x648.52020.1.3ViyaViya
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.