function assertShapesMatchAllowUndefinedSize(shapeA, shapeB, errorMessagePrefix = "") {
    // constant shape means unknown rank
    if (typeof shapeA === "number" || typeof shapeB === "number") return;
    (0, _tfjsCore.util).assert(shapeA.length === shapeB.length, ()=>errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`);
    for(let i = 0; i < shapeA.length; i++){
        const dim0 = shapeA[i];
        const dim1 = shapeB[i];
        (0, _tfjsCore.util).assert(dim0 < 0 || dim1 < 0 || dim0 === dim1, ()=>errorMessagePrefix + ` Shapes ${shapeA} and ${shapeB} must match`);
    }
}
Generate the output element shape from the list elementShape, list tensors
and input param.
@param listElementShape
@param tensors
@param elementShape