Search in sources :

Example 1 with IntKeyVectorStorage

use of com.tencent.angel.ml.math2.storage.IntKeyVectorStorage in project angel by Tencent.

the class LabeledUpdateIndexBaseTask method preProcess.

@Override
public void preProcess(TaskContext taskContext) {
    try {
        Reader<KEYIN, VALUEIN> reader = taskContext.getReader();
        while (reader.nextKeyValue()) {
            LabeledData out = parse(reader.getCurrentKey(), reader.getCurrentValue());
            if (out != null) {
                taskDataBlock.put(out);
                if (updateIndexEnable) {
                    Vector vector = out.getX();
                    int[] indexes;
                    if (vector instanceof IntDummyVector) {
                        indexes = ((IntDummyVector) vector).getIndices();
                    } else if (vector.getStorage() instanceof IntKeyVectorStorage) {
                        indexes = ((IntKeyVectorStorage) vector).getIndices();
                    } else {
                        throw new AngelException("");
                    }
                    for (int i = 0; i < indexes.length; i++) {
                        indexSet.add(indexes[i]);
                    }
                }
            }
        }
        taskDataBlock.flush();
    } catch (Exception e) {
        throw new AngelException("Pre-Process Error.", e);
    }
}
Also used : AngelException(com.tencent.angel.exception.AngelException) IntDummyVector(com.tencent.angel.ml.math2.vector.IntDummyVector) LabeledData(com.tencent.angel.ml.feature.LabeledData) IntKeyVectorStorage(com.tencent.angel.ml.math2.storage.IntKeyVectorStorage) Vector(com.tencent.angel.ml.math2.vector.Vector) IntDummyVector(com.tencent.angel.ml.math2.vector.IntDummyVector) AngelException(com.tencent.angel.exception.AngelException) IOException(java.io.IOException)

Aggregations

AngelException (com.tencent.angel.exception.AngelException)1 LabeledData (com.tencent.angel.ml.feature.LabeledData)1 IntKeyVectorStorage (com.tencent.angel.ml.math2.storage.IntKeyVectorStorage)1 IntDummyVector (com.tencent.angel.ml.math2.vector.IntDummyVector)1 Vector (com.tencent.angel.ml.math2.vector.Vector)1 IOException (java.io.IOException)1