You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current implementation always will convert Tensor to Vector
Bug is hidden in tt.dimensions.size where tt.dimensions is Option[Seq[Int]], so calling size on Some will have size of 1 and calling size on None will have size of 0. So in following code, TensorType will always convert to VectorUDT
def mleapTensorToSpark(tt: types.TensorType): DataType = {
assert(TypeConverters.VECTOR_BASIC_TYPES.contains(tt.base),
s"cannot convert tensor with base ${tt.base} to vector")
assert(tt.dimensions.isDefined, "cannot convert tensor with undefined dimensions")
if(tt.dimensions.isEmpty) {
mleapBasicTypeToSparkType(tt.base)
} else if(tt.dimensions.size == 1) {
new VectorUDT
} else if(tt.dimensions.size == 2) {
new MatrixUDT
} else {
throw new IllegalArgumentException("cannot convert tensor for non-scalar, vector or matrix tensor")
}
}
Same bug exists in mleapToSparkValue function as well.
The text was updated successfully, but these errors were encountered:
Current implementation always will convert Tensor to Vector
Bug is hidden in
tt.dimensions.size
wherett.dimensions
isOption[Seq[Int]]
, so callingsize
on Some will have size of 1 and callingsize
on None will have size of 0. So in following code,TensorType
will always convert toVectorUDT
Same bug exists in
mleapToSparkValue
function as well.The text was updated successfully, but these errors were encountered: