nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java
public void resolveVariablesWith(Map<String, INDArray> arrays) {
        for (val arrayEntry : arrays.entrySet()) {
            val varForName = getVariable(arrayEntry.getKey());
            if (varForName == null) {
                throw new ND4JIllegalStateException("No variable name found for " + arrayEntry.getKey());
            }

            if (placeHolderOriginalShapes.containsKey(arrayEntry.getKey())) {
                val originalShape = placeHolderOriginalShapes.get(arrayEntry.getKey());
                if (originalShape.length == arrayEntry.getValue().rank()) {
                    for (int i = 0; i < originalShape.length; i++) {
                        if (originalShape[i] != arrayEntry.getValue().shape()[i] && originalShape[i] >= 1) {
                            throw new ND4JIllegalStateException("Incompatible shape passed for variable. " + Arrays.toString(arrayEntry.getValue().shape()));
                        }
                    }
                }
            }
        }


        for (val entry : arrays.entrySet()) {
            if (!placeHolderVarNames.contains(entry.getKey())) {
                throw new ND4JIllegalStateException("Illegal variable " + entry.getKey() + " passed in. Variable found not to be a place holder variable");
            }

            val specifiedShape = getOriginalShapeForPlaceHolder(entry.getKey());
            //whole shape was specified: validate whether the input array shape is equal
            if (!Shape.isPlaceholderShape(specifiedShape)) {
                if (!Shape.shapeEquals(specifiedShape, entry.getValue().shape())) {
                    throw new ND4JIllegalStateException("Place holder shape specified was " + Arrays.toString(specifiedShape) + " but array shape was " + Arrays.toString(entry.getValue().shape()));
                }
            }


            updateShapeForVarName(entry.getKey(), entry.getValue().shape());
            associateArrayWithVariable(entry.getValue(), getVariable(entry.getKey()));
            updateArrayForVarName(entry.getKey(), entry.getValue());

        }


        for (val funcName : propertiesToResolve.keySet()) {
            val func = functionInstancesById.get(funcName);
            if (!functionInstancesById.containsKey(funcName)) {
                throw new ND4JIllegalStateException("Unable to resolve function name " + funcName);
            }

            if (func instanceof CustomOp) {
                CustomOp customOp = (CustomOp) func;
                customOp.populateInputsAndOutputsFromSameDiff();
            }

        }


        //declare resolved
        resolvedVariables = true;
    }
public void resolveVariablesWith(Map<String, INDArray> arrays) {
        for (val arrayEntry : arrays.entrySet()) {
            val varForName = getVariable(arrayEntry.getKey());
            if (varForName == null) {
                throw new ND4JIllegalStateException("No variable name found for " + arrayEntry.getKey());
            }

            if (placeHolderOriginalShapes.containsKey(arrayEntry.getKey())) {
                val originalShape = placeHolderOriginalShapes.get(arrayEntry.getKey());
                if (originalShape.length == arrayEntry.getValue().rank()) {
                    for (int i = 0; i < originalShape.length; i++) {
                        if (originalShape[i] != arrayEntry.getValue().shape()[i] && originalShape[i] >= 1) {
                            throw new ND4JIllegalStateException("Incompatible shape passed for variable. " + Arrays.toString(arrayEntry.getValue().shape()));
                        }
                    }
                }
            }
        }


        for (val entry : arrays.entrySet()) {
            if (!placeHolderVarNames.contains(entry.getKey())) {
                throw new ND4JIllegalStateException("Illegal variable " + entry.getKey() + " passed in. Variable found not to be a place holder variable");
            }

            val specifiedShape = getOriginalShapeForPlaceHolder(entry.getKey());
            //whole shape was specified: validate whether the input array shape is equal
            if (!Shape.isPlaceholderShape(specifiedShape)) {
                if (!Shape.shapeEquals(specifiedShape, entry.getValue().shape())) {
                    throw new ND4JIllegalStateException("Place holder shape specified was " + Arrays.toString(specifiedShape) + " but array shape was " + Arrays.toString(entry.getValue().shape()));
                }
            }


            updateShapeForVarName(entry.getKey(), entry.getValue().shape());
            associateArrayWithVariable(entry.getValue(), getVariable(entry.getKey()));
            updateArrayForVarName(entry.getKey(), entry.getValue());

        }


        for (val funcName : propertiesToResolve.keySet()) {
            val func = functionInstancesById.get(funcName);
            if (!functionInstancesById.containsKey(funcName)) {
                throw new ND4JIllegalStateException("Unable to resolve function name " + funcName);
            }

            if (func instanceof CustomOp) {
                CustomOp customOp = (CustomOp) func;
                customOp.populateInputsAndOutputsFromSameDiff();
            }

        }


        //declare resolved
        resolvedVariables = true;
    }
public void resolveVariablesWith ( Map < String , INDArray > arrays ) { for ( val arrayEntry : arrays . entrySet ( ) ) { val varForName = getVariable ( arrayEntry . getKey ( ) ) ; if ( varForName == null ) { throw new ND4JIllegalStateException ( "No variable name found for " + arrayEntry . getKey ( ) ) ; } if ( placeHolderOriginalShapes . containsKey ( arrayEntry . getKey ( ) ) ) { val originalShape = placeHolderOriginalShapes . get ( arrayEntry . getKey ( ) ) ; if ( originalShape . length == arrayEntry . getValue ( ) . rank ( ) ) { for ( int i = 0 ; i < originalShape . length ; i ++ ) { if ( originalShape [ i ] != arrayEntry . getValue ( ) . shape ( ) [ i ] && originalShape [ i ] >= 1 ) { throw new ND4JIllegalStateException ( "Incompatible shape passed for variable. " + Arrays . toString ( arrayEntry . getValue ( ) . shape ( ) ) ) ; } } } } } for ( val entry : arrays . entrySet ( ) ) { if ( ! placeHolderVarNames . contains ( entry . getKey ( ) ) ) { throw new ND4JIllegalStateException ( "Illegal variable " + entry . getKey ( ) + " passed in. Variable found not to be a place holder variable" ) ; } val specifiedShape = getOriginalShapeForPlaceHolder ( entry . getKey ( ) ) ; //whole shape was specified: validate whether the input array shape is equal if ( ! Shape . isPlaceholderShape ( specifiedShape ) ) { if ( ! Shape . shapeEquals ( specifiedShape , entry . getValue ( ) . shape ( ) ) ) { throw new ND4JIllegalStateException ( "Place holder shape specified was " + Arrays . toString ( specifiedShape ) + " but array shape was " + Arrays . toString ( entry . getValue ( ) . shape ( ) ) ) ; } } updateShapeForVarName ( entry . getKey ( ) , entry . getValue ( ) . shape ( ) ) ; associateArrayWithVariable ( entry . getValue ( ) , getVariable ( entry . getKey ( ) ) ) ; updateArrayForVarName ( entry . getKey ( ) , entry . getValue ( ) ) ; } for ( val funcName : propertiesToResolve . keySet ( ) ) { val func = functionInstancesById . get ( funcName ) ; if ( ! functionInstancesById . containsKey ( funcName ) ) { throw new ND4JIllegalStateException ( "Unable to resolve function name " + funcName ) ; } if ( func instanceof CustomOp ) { CustomOp customOp = ( CustomOp ) func ; customOp . populateInputsAndOutputsFromSameDiff ( ) ; } } //declare resolved resolvedVariables = true ; }
Resolve all ndarrays by updating the variables
for each array specified in the given map.
An {@link IllegalStateException} will be thrown
if not all arrays are
specified for resolution.

@param arrays the arrays to resolve.
Resolve all ndarrays by updating the variables for each array specified in the given map . An { @link IllegalStateException } will be thrown if not all arrays are specified for resolution .