Java Code Examples for org.datavec.api.transform.metadata.ColumnMetaData#getName()

The following examples show how to use org.datavec.api.transform.metadata.ColumnMetaData#getName() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SequenceOffsetTransform.java    From DataVec with Apache License 2.0 4 votes vote down vote up
private String getNewColumnName(ColumnMetaData m) {
    return "sequenceOffset(" + offsetAmount + "," + m.getName() + ")";
}
 
Example 2
Source File: SequenceOffsetTransform.java    From deeplearning4j with Apache License 2.0 4 votes vote down vote up
private String getNewColumnName(ColumnMetaData m) {
    return "sequenceOffset(" + offsetAmount + "," + m.getName() + ")";
}
 
Example 3
Source File: RecordConverter.java    From deeplearning4j with Apache License 2.0 4 votes vote down vote up
/**
 *  Convert a collection into a `List<Writable>`, i.e. a record that can be used with other datavec methods.
 *  Uses a schema to decide what kind of writable to use.
 *
 * @return a record
 */
public static List<Writable> toRecord(Schema schema, List<Object> source){
    final List<Writable> record = new ArrayList<>(source.size());
    final List<ColumnMetaData> columnMetaData = schema.getColumnMetaData();

    if(columnMetaData.size() != source.size()){
        throw new IllegalArgumentException("Schema and source list don't have the same length!");
    }

    for (int i = 0; i < columnMetaData.size(); i++) {
        final ColumnMetaData metaData = columnMetaData.get(i);
        final Object data = source.get(i);
        if(!metaData.isValid(data)){
            throw new IllegalArgumentException("Element "+i+": "+data+" is not valid for Column \""+metaData.getName()+"\" ("+metaData.getColumnType()+")");
        }

        try {
            final Writable writable;
            switch (metaData.getColumnType().getWritableType()){
                case Float:
                    writable = new FloatWritable((Float) data);
                    break;
                case Double:
                    writable = new DoubleWritable((Double) data);
                    break;
                case Int:
                    writable = new IntWritable((Integer) data);
                    break;
                case Byte:
                    writable = new ByteWritable((Byte) data);
                    break;
                case Boolean:
                    writable = new BooleanWritable((Boolean) data);
                    break;
                case Long:
                    writable = new LongWritable((Long) data);
                    break;
                case Null:
                    writable = new NullWritable();
                    break;
                case Bytes:
                    writable = new BytesWritable((byte[]) data);
                    break;
                case NDArray:
                    writable = new NDArrayWritable((INDArray) data);
                    break;
                case Text:
                    if(data instanceof String)
                        writable = new Text((String) data);
                    else if(data instanceof Text)
                        writable = new Text((Text) data);
                    else if(data instanceof byte[])
                        writable = new Text((byte[]) data);
                    else
                        throw new IllegalArgumentException("Element "+i+": "+data+" is not usable for Column \""+metaData.getName()+"\" ("+metaData.getColumnType()+")");
                    break;
                default:
                    throw new IllegalArgumentException("Element "+i+": "+data+" is not usable for Column \""+metaData.getName()+"\" ("+metaData.getColumnType()+")");
            }
            record.add(writable);
        } catch (ClassCastException e) {
            throw new IllegalArgumentException("Element "+i+": "+data+" is not usable for Column \""+metaData.getName()+"\" ("+metaData.getColumnType()+")", e);
        }
    }

    return record;
}