private void load(SparseFloatArray v, Scanner sc) { int sz = 0; int msz = 1024; v.setLength(msz); final String line = sc.nextLine(); final String[] parts = line.trim().split("\\s"); for (final String p : parts) { final String[] p2 = p.trim().split(":"); final int idx = Integer.parseInt(p2[0].trim()); final float val = Float.parseFloat(p2[1].trim()); if (idx >= sz) sz = idx + 1; if (idx >= msz) { while (idx >= msz) msz += msz; v.setLength(msz); } v.set(idx, val); } v.compact(); }
private void load(SparseFloatArray x, DataInputStream fs) throws IOException { int sz = 0; int msz = 1024; x.setLength(msz); final int npairs = fs.readInt(); if (npairs < 0) throw new AssertionError("bad format"); for (int i = 0; i < npairs; i++) { final int idx = fs.readInt(); final float val = fs.readFloat(); if (idx >= sz) sz = idx + 1; if (idx >= msz) { while (idx >= msz) msz += msz; x.setLength(msz); } x.set(idx, val); } x.compact(); }
private void load(SparseFloatArray v, Scanner sc) { int sz = 0; int msz = 1024; v.setLength(msz); final String line = sc.nextLine(); final String[] parts = line.trim().split("\\s"); for (final String p : parts) { final String[] p2 = p.trim().split(":"); final int idx = Integer.parseInt(p2[0].trim()); final float val = Float.parseFloat(p2[1].trim()); if (idx >= sz) sz = idx + 1; if (idx >= msz) { while (idx >= msz) msz += msz; v.setLength(msz); } v.set(idx, val); } v.compact(); }
private void load(SparseFloatArray x, DataInputStream fs) throws IOException { int sz = 0; int msz = 1024; x.setLength(msz); final int npairs = fs.readInt(); if (npairs < 0) throw new AssertionError("bad format"); for (int i = 0; i < npairs; i++) { final int idx = fs.readInt(); final float val = fs.readFloat(); if (idx >= sz) sz = idx + 1; if (idx >= msz) { while (idx >= msz) msz += msz; x.setLength(msz); } x.set(idx, val); } x.compact(); }
@Override public SparseFloatArray concatenate(List<SparseFloatArray> ins) { final SparseFloatArray result = copy(); for (int i=0; i<ins.size(); i++) { final int oldLength = result.length; result.setLength(oldLength + ins.get(i).length); for (Entry e : ins.get(i).entries()) { result.set(e.index + oldLength, e.value); } } return result; } }
private static SparseFloatFV loadVector(File f, List<String> vocab) throws IOException { final String str = FileUtils.readall(f); final String[] terms = str.split(",\\s*"); final SparseFloatFV fv = new SparseFloatFV(vocab.size()); for (String term : terms) { term = term.trim(); if (term.length() < 1) continue; int idx = vocab.indexOf(term); if (idx == -1) { idx = vocab.size(); vocab.add(term); fv.values.setLength(idx + 1); fv.values.set(idx, 1); } else { fv.values.increment(idx, 1); } } return fv; } }
private static SparseFloatFV loadVector(File f, List<String> vocab) throws IOException { final String str = FileUtils.readall(f); final String[] terms = str.split(",\\s*"); final SparseFloatFV fv = new SparseFloatFV(vocab.size()); for (String term : terms) { term = term.trim(); if (term.length() < 1) continue; int idx = vocab.indexOf(term); if (idx == -1) { idx = vocab.size(); vocab.add(term); fv.values.setLength(idx + 1); fv.values.set(idx, 1); } else { fv.values.increment(idx, 1); } } return fv; } }
@Override public SparseFloatArray concatenate(SparseFloatArray... ins) { final SparseFloatArray result = copy(); for (int i=0; i<ins.length; i++) { final int oldLength = result.length; result.setLength(oldLength + ins[i].length); for (Entry e : ins[i].entries()) { result.set(e.index + oldLength, e.value); } } return result; }
fv.values.setLength(vocab.size());
fv.values.setLength(vocab.size());
/** * Concatenate multiple arrays into a single new array. * * @param arrays the arrays to concatenate. * @return the new concatenated array */ public static SparseFloatArray concatenateArrays(SparseFloatArray... arrays) { SparseFloatArray concat = arrays[0].copy(); for (int i=1; i<arrays.length; i++) { if (arrays[i] != null) { int oldLength = concat.length; concat.setLength(oldLength + arrays[i].length); for (Entry e : arrays[i].entries()) concat.set(e.index + oldLength, e.value); } } return concat; }