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

org.nd4j.autodiff.samediff.internal.IdentityDependencyTracker Maven / Gradle / Ivy

There is a newer version: 1.0.0-M2.1
Show newest version
package org.nd4j.autodiff.samediff.internal;

import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
import org.nd4j.base.Preconditions;
import org.nd4j.linalg.api.ndarray.INDArray;
import org.nd4j.linalg.primitives.Pair;

import java.util.*;

/**
 * Object dependency tracker, using object identity (not object equality) for the Ys (of type T)
* See {@link AbstractDependencyTracker} for more details * * @author Alex Black */ @Slf4j public class IdentityDependencyTracker extends AbstractDependencyTracker { @Override protected Map newTMap() { return new IdentityHashMap<>(); } @Override protected Set newTSet() { return Collections.newSetFromMap(new IdentityHashMap()); } @Override protected String toStringT(T t) { if(t instanceof INDArray){ INDArray i = (INDArray)t; return System.identityHashCode(t) + " - id=" + i.getId() + ", " + i.shapeInfoToString(); } else { return System.identityHashCode(t) + " - " + t.toString(); } } @Override protected String toStringD(D d) { return d.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy