All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.deeplearning4j.graph.models.loader.GraphVectorSerializer Maven / Gradle / Ivy

There is a newer version: 1.0.0-M2.1
Show newest version
package org.deeplearning4j.graph.models.loader;

import org.apache.commons.io.IOUtils;
import org.apache.commons.io.LineIterator;
import org.deeplearning4j.graph.models.GraphVectors;
import org.deeplearning4j.graph.models.deepwalk.DeepWalk;
import org.deeplearning4j.graph.models.embeddings.GraphVectorsImpl;
import org.deeplearning4j.graph.models.embeddings.InMemoryGraphLookupTable;
import org.nd4j.linalg.api.ndarray.INDArray;
import org.nd4j.linalg.factory.Nd4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**GraphVectorSerializer: Provide static methods to save and load DeepWalk/Graph vectors
 *
 */
public class GraphVectorSerializer {
    private static final Logger log = LoggerFactory.getLogger(GraphVectorSerializer.class);
    private static final String DELIM = "\t";

    public static void writeGraphVectors(DeepWalk deepWalk, String path) throws IOException {

        int nVertices = deepWalk.numVertices();
        int vectorSize = deepWalk.getVectorSize();

        try( BufferedWriter write = new BufferedWriter(new FileWriter(new File(path), false)) ){
            for( int i=0; i vectorList = new ArrayList<>();

        try(BufferedReader reader = new BufferedReader(new FileReader(file))){
            LineIterator iter = IOUtils.lineIterator(reader);

            while(iter.hasNext()){
                String line = iter.next();
                String[] split = line.split(DELIM);
                double[] vec = new double[split.length-1];
                for( int i=1; i(null,table);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy