@Override public Map<String, AttrValue> getAttrMap(NodeDef nodeDef) { return nodeDef.getAttrMap(); }
/** * Use {@link #getAttrMap()} instead. */ @java.lang.Deprecated public java.util.Map<java.lang.String, org.tensorflow.framework.AttrValue> getAttr() { return getAttrMap(); } /**
@Override public INDArray getNDArrayFromTensor(String tensorName, NodeDef node, GraphDef graph) { //placeholder of some kind if(!node.getAttrMap().containsKey("value")) { return null; } val tfTensor = node.getAttrOrThrow("value").getTensor(); return mapTensorProto(tfTensor); }
func.initFromTensorFlow(tfNode,scopeCondition,nodeDef.getAttrMap(),graph); func.setSameDiff(scopeLoop); func.initFromTensorFlow(tfNode,initWith,nodeDef.getAttrMap(),graph); func.setSameDiff(scopeLoop); val func = DifferentialFunctionClassHolder.getInstance().getInstance(TFGraphMapper.getInstance().getMappedOp(tfNode.getOp()).opName()); func.initFromTensorFlow(tfNode,initWith,nodeDef.getAttrMap(),graph);
/** * Use {@link #getAttrMap()} instead. */ @java.lang.Deprecated public java.util.Map<java.lang.String, org.tensorflow.framework.AttrValue> getAttr() { return getAttrMap(); } /**
@Procedure(value = "load.tensorflow", mode = Mode.WRITE) public Stream<LoadResult> loadTensorFlow(@Name("file") String url) throws IOException { GraphDef graphDef = GraphDef.parseFrom(new BufferedInputStream(new URL(url).openStream())); Map<String, Node> nodes = new HashMap<>(); // tod model node, layer nodes for (NodeDef nodeDef : graphDef.getNodeList()) { Node node = db.createNode(Types.Neuron); node.setProperty("name", nodeDef.getName()); if (nodeDef.getDevice() != null) node.setProperty("device", nodeDef.getDevice()); node.setProperty("op", nodeDef.getOp()); nodeDef.getAttrMap().forEach((k, v) -> { Object value = getValue(v); if (value != null) { node.setProperty(k, value); } }); nodes.put(nodeDef.getName(), node); } long rels = 0; for (NodeDef nodeDef : graphDef.getNodeList()) { Node target = nodes.get(nodeDef.getName()); nodeDef.getInputList().forEach(name -> nodes.get(name).createRelationshipTo(target, RelTypes.INPUT)); // todo weights rels += nodeDef.getInputCount(); } return Stream.of(new LoadResult(url,"tensorflow",nodes.size(), rels)); }