REQUIRE_TRUE(parameters->isSameShape(gradients),0,"ApplySGD: parameters and gradients should have the same shape, but got parameters = %s and gradients = %s !",ShapeUtils::shapeAsString(parameters).c_str(),ShapeUtils::shapeAsString(gradients).c_str());
if(block.width()==3){
autotarr=INPUT_VARIABLE(2);
lr=tarr->e<double>(0);
}elseif(block.getTArguments()->size()==1){
lr=T_ARG(0);
}else{
REQUIRE_TRUE(false,0,"ApplyGradients op should have LR announced either es T argument or additional NDArray!");